私の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 についてのすべてを本当に理解していません。誰かが私を助けることができれば、それは素晴らしいことです:)
よろしくお願いします