なぜ最初のコードが機能し、他のコードが機能しないのか、誰かが私に説明できますか?
働く:
<h:commandButton value="#{settingsBean.tmp}" action="editverteilerliste">
<f:setPropertyActionListener target="#{settingsEditVerteilerlisteBean.aktuelleVerteilerliste}" value="#{settingsBean.tmp}" />
</h:commandButton>
動作しない:
<p:commandLink action="editverteilerliste">
<f:param name="aktuelleVerteilerliste" value="#{settingsBean.tmp}" />
<h:outputText value="asdf"/>
</p:commandLink>
settingsBean.tmp は Verteilerliste のインスタンスです
アクション editverteilerliste は、settingsEditVerteilerlisteBean を使用している別のページにつながります。
@ManagedBean
@RequestScoped
public class settingsEditVerteilerlisteBean implements Serializable {
private Logger logger = Logger.getLogger(settingsEditVerteilerlisteBean.class);
public settingsEditVerteilerlisteBean() {
}
@PostConstruct
public void init() {
logger.info("Postconstructor invoked!");
}
@ManagedProperty(value = "#{aktuelleVerteilerliste}")
private Verteilerliste aktuelleVerteilerliste;
[Getter and Setter...]
}
2 番目のページ:
<h:body>
<ui:composition template="../template/mainlayout.xhtml">
<ui:define name="content">
<h3>Verteilerliste <h:outputText value="#{settingsEditVerteilerlisteBean.aktuelleVerteilerliste.name}"/></h3>
</ui:define>
</ui:composition>
</h:body>
機能しているものを使用できることはわかっていますが、2番目のものが機能しない理由を理解したいです!