Bonjour,

J'aimerais récupérer et/ou modifier la valeur d'un attribut.

Dans le template
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
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" 
          xmlns:f="http://java.sun.com/jsf/core" 
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich" 
          xmlns:pe="http://xmlns.oracle.com/adf/pageeditor" 
          xmlns:cust="http://xmlns.oracle.com/adf/faces/customizable" 
          xmlns:c="http://java.sun.com/jsp/jstl/core">
 
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <af:pageTemplateDef var="attrs" definition="private">
 
        <af:xmlContent>
            <component xmlns="http://xmlns.oracle.com/adf/faces/rich/component">
                <description/>
                <display-name>ADFMenuTemplate1</display-name>
 
                <attribute>
                    <attribute-name>pageMode</attribute-name>
                    <attribute-class>java.lang.String</attribute-class>
                    <default-value>None</default-value>
                </attribute>
            </component>
        </af:xmlContent>
    </af:pageTemplateDef>
</jsp:root>
Page accueil
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
<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
        <af:document title="accueil.jspx" id="d1">
            <af:form id="f1">
                <af:pageTemplate viewId="/template/ADFMenuTemplate1.jspx" id="pt1">
                    <f:facet name="content"/>
                    <f:attribute name="pageMode" value="None"/>
                </af:pageTemplate>
            </af:form>
        </af:document>
    </f:view>
</jsp:root>
Code du bean pour récupérer la valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
        FacesContext fctx = FacesContext.getCurrentInstance();
        String currentPageId = fctx.getViewRoot().getViewId();
        //UIViewRoot currentPage = fctx.getViewRoot();
        //UIComponent s = (UIComponent) currentPage.findComponent("pageMode");
        String attributes = (String)fctx.getViewRoot().getAttributes().get("pageMode");
        System.out.println("The pageMode provided value was: " + attributes);
trace
<27 déc. 2013 11 h 48 WET> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.grid.CellGatherCallback> <ADF_FACES-30194> <Définition de largeur interdite détectée dans panelGridLayout, clientId = "pt1:pgl4", ID gridRow = "gr3", ID gridCell = "gc8", largeur = "65%" car la valeur columnSpan n'est pas égale à 1 (columnSpan = "3").>
The pageMode provided value was: null
<27 déc. 2013 11 h 48 WET> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer> <ADF_FACES-30214> <The setting to enable version display will be ignored because the application is running in production mode.>
<27 déc. 2013 13 h 35 WET> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.grid.CellGatherCallback> <ADF_FACES-30194> <Définition de largeur interdite détectée dans panelGridLayout, clientId = "pt1:pgl4", ID gridRow = "gr2", ID gridCell = "gc6", largeur = "65%" car la valeur columnSpan n'est pas égale à 1 (columnSpan = "3").>
<27 déc. 2013 13 h 35 WET> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.grid.CellGatherCallback> <ADF_FACES-30194> <Définition de largeur interdite détectée dans panelGridLayout, clientId = "pt1:pgl4", ID gridRow = "gr3", ID gridCell = "gc8", largeur = "65%" car la valeur columnSpan n'est pas égale à 1 (columnSpan = "3").>
<27 déc. 2013 13 h 35 WET> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer> <ADF_FACES-30214> <The setting to enable version display will be ignored because the application is running in production mode.>
En gras, cela retourne null alors que je m'attends à none, valeur du paramètre.

Quelqu'un saurait-il m'indiquer comment faire ?

Merci pour votre aide