Jsf 使用p:commandButton设置对象
所以我有一个像这样的豆子。它保存Jsf 使用p:commandButton设置对象,jsf,primefaces,Jsf,Primefaces,所以我有一个像这样的豆子。它保存currentPara,稍后将在另一个bean中使用该bean(该bean应只保存一种类型的Para)。 此currentPara是ParaA或ParaB public class ParaBuilderBean { private Para currentPara; private ParaA paraA; private ParaB paraB; } public class ParaA extends Para{ priva
currentPara
,稍后将在另一个bean中使用该bean(该bean应只保存一种类型的Para
)。
此currentPara
是ParaA
或ParaB
public class ParaBuilderBean {
private Para currentPara;
private ParaA paraA;
private ParaB paraB;
}
public class ParaA extends Para{
private List<String> strings;
private String currentString;
}
public class ParaB extends Para{
private int min;
private int max;
}
因此,对于每种类型的Para
都应该有一个不同的.xhtml。每个.xhtml都保存单独的元素来设置其Para
类型的字段。例如paraAPanel.xhtml
:
<h:panelGrid>
<p:outputLabel value="Enter String" />
<p:inputText value="#{paraBuilderBean.paraA.currentString}"/>
<p:commandButton value="Add" ajax="false">
<p:collector value="#{paraBuilderBean.paraA.currentString}" unique="false" addTo="#{paraBuilderBean.paraA.strings}"></p:collector>
</p:commandButton>
</h:panelGrid>
现在我的问题是:
如何使用
main.xhtml
中的p:commandButton
将myParaBuilderBean
的currentPara
设置为choosen?我想实现一些类似于action=“#{paraBuilderBean.setCurrentPara(paraBuilderBean.paraA)}”
的功能,这可以完成这项工作吗
<p:commandButton value="ParaA" update="@form" actionListener="#{paraPanelBean.setCurrentPanel('paraAPanel')}">
<f:setPropertyActionListener target="#{paraBuilderBean.currentPara}" value="#{paraBuilderBean.paraA}" />
</p:commandButton>
1个问题/问题请。。。否则,回答和评论将变得无法阅读
<p:commandButton value="ParaA" update="@form" actionListener="#{paraPanelBean.setCurrentPanel('paraAPanel')}">
<f:setPropertyActionListener target="#{paraBuilderBean.currentPara}" value="#{paraBuilderBean.paraA}" />
</p:commandButton>