Bonjour,

J'ai question sur la balise <keepAlive>. Est-ce que le managerbean en scope request est ré instancié, même avec la balise keepAlive. Ou alors une autre instance du manager bean est récréé et lui redonne ces anciennes valeurs ? (je sens que je pose une question très c... ^^ Mais je suis pas sûr) En tout cas pour ma page à chaque fois qu'une requête Ajax est faite, le management bean et soit ré instancié ou une autre instance est créée.

Enfin je pense surtout que j'ai mal placé cette balise dans ma page. Je vous fourni les sources de ma page, je ne sais pas si c'est la bonne place :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
<a4j:keepAlive beanName="databaseexplorer"/>
<a4j:form>
    <ui:include src="includes/menu/domainmenu.xhtml"/>
    <div class="panel_main">
        <div class="panel_table">
            <rich:extendedDataTable value="#{databaseexplorer.listTable}" selectionMode="single" selection="#{databaseexplorer.selection}" var="list" width="50%" id="databaseTable" columnClasses="col">
                <f:facet name="header">
                    <h:outputText value="#{databaseexplorer.tableName}"/>
                </f:facet>
                <rich:columns sortBy="#{list[i]}" sortable="#{i!=0}" sortOrder="#{columnName.sortOrder}" selfSorted="false" value="#{databaseexplorer.columnsName}" label="#{databaseexplorer.columnsName[i].header}" var="columnName" index="i" visible="#{databaseexplorer.nameColumnName == columnName.header ? 'true':'false' || i==0}" width="#{i==0?'50px' : '25%'}">
                    <f:facet name="header">
                        <h:panelGroup>
                            <h:selectBooleanCheckbox rendered="#{i==0}" value="#{databaseexplorer.deleteCheckboxValue}">
                                <a4j:support event="onclick" action="#{databaseexplorer.deleteCheckboxSubmit}" reRender="databaseTable"/>
                            </h:selectBooleanCheckbox>
                            <h:outputText value="#{columnName.header}" rendered="#{i!=0}"/>
                        </h:panelGroup>
                    </f:facet>
                    <rich:inplaceInput value="#{list[i]}" rendered="#{i!=0}" selectOnEdit="true" editEvent="ondblclick">
                        <a4j:support event="onviewactivated" data="#{columnName.header}##{list[1]}##{list[i]}" actionListener="#{databaseexplorer.processAction}"/>
                    </rich:inplaceInput>
                    <h:selectBooleanCheckbox value="#{list[i]}" rendered="#{i==0}"/>
                    <f:facet name="footer">
                        <a4j:commandButton value="Delete row(s)" action="#{databaseexplorer.deleteRowsSubmit}" reRender="databaseTable" rendered="#{i==0}"/>
                    </f:facet>
                </rich:columns>
                <a4j:support event="onselectionchange" action="#{databaseexplorer.takeSelection}" reRender="information"/>
            </rich:extendedDataTable>
            <a4j:commandButton value="Insert" action="#{databaseexplorer.insertRowsSubmit}"/>
            <a4j:commandButton value="Reset orderby" action="#{databaseexplorer.resetOrderBy}" reRender="databaseTable"/>
        </div>
        <div class="panel_information">
            <rich:panel id="information">
                <f:facet name="header">
                    <h:outputText value="Information (Item Id : #{databaseexplorer.arraySelection[databaseexplorer.nameColumnId]})"/>
                </f:facet>
                <h:panelGrid columns="2">
                    <h:outputText value="Create by : "/>
                    <h:outputText value="#{databaseexplorer.arraySelection['CREATED_USER']}"/>
 
                    <h:outputText value="On : "/>
                    <h:outputText value="#{databaseexplorer.arraySelection['CREATED_DATE']}"/>
 
                    <h:outputText value="Name : "/>
                    <h:outputText value="#{databaseexplorer.arraySelection[databaseexplorer.nameColumnName]}"/>
 
                    <h:outputText value="Description : "/>
                    <h:outputText value="#{databaseexplorer.arraySelection[databaseexplorer.nameColumnDescription]}"/>
                </h:panelGrid>
            </rich:panel>
        </div>
    </div>
</a4j:form>
En fait j'ai un Systeme.out.println("test"); dans mon constructeur, et à chaque fois que je clique sur une ligne des mon tableau, test est affiché sur la console.

Merci d'avance.