你们谁能解释一下,为什么第一个代码有效而另一个无效?
在职的:
<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...]
}
第二页:
<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>
我知道我只能使用工作的,但我想了解为什么第二个不起作用!