1

私のjsfでは、次を使用します:

<f:param name="parm1" value="#{templateGP01MB.stringAnnId}" /> 

マネージド Bean で null パラメータを受け取ります。

次のように書くと:

<f:param name="parm1" value="5" />

MBean で 5 を取得しました。

私のJSFのコードは次のとおりです。

                <p:imageSwitch effect="turnDown" speed="10000">  
                    <ui:repeat value="#{galerieFloMB.stringArray}" var="image" >                         
                        <h:commandLink value="Voir l'annonce correspondante" actionListener="#{templateGP01MB.actionListener}" action="#{templateGP01MB.action}" >
                            <!-- <p:graphicImage value="/resources/images/download/#{image}" width="300" height="300" onclick="visualisationAnnonce('#{image}');" /> -->
                            <p:graphicImage value="/resources/images/download/#{image}" width="300" height="300" />
                            <f:attribute name="attributeName1" value="#{image}" />  
                            <f:param name="parm1" value="#{templateGP01MB.stringAnnId}" /> 
                        </h:commandLink> 
                    </ui:repeat>   
                </p:imageSwitch> 

            </h:form>

そして、これが私の MBean TemplateGP01MB.java のコードです。

public void actionListener(ActionEvent event) {
    photo = (String) event.getComponent().getAttributes().get("attributeName1");
    annonceEtendue = getAnnonceEtendueFacade().searchByPhoto(photo);
}

public String action() {
    return "visualisationAnnonce";
}

MBean VisualisationAnnonceMB.java で、次のようになりました。

    FacesContext fc = FacesContext.getCurrentInstance();
    Map<String, String> params = fc.getExternalContext().getRequestParameterMap();
    String parm1 = params.get("parm1");
    Integer integerParm1 = Integer.parseInt(parm1);

そして、null ポインターの例外が発生したため、parm1 = null...

確かに私は初心者で、jsf lyfecycle についてのすべてを本当に理解していません。誰かが私を助けることができれば、それは素晴らしいことです:)

よろしくお願いします

4

0 に答える 0