在菜单中设置值并在对话框中显示
Setting value in Menu and showing in Dialog
我正在尝试在 p:selectOneMenu
中设置一个对象并在 p:dialog
中显示该对象。
菜单:
<p:form id="form1">
<p:selectOneMenu value="#{bean.entity}" immediate="true">
<f:selectItems value="#{bean.entities}" var="ent" itemLabel="#{ent.name}" itemValue="#{ent}" />
</p:selectOneMenu>
<p:commandButton value="Submit" oncomplete="PF('dlg').show();" update=":form2" />
</p:form>
对话:
<p:dialog header="Title" widgetVar="dlg" modal="true">
<p:form id="form2">
<p:outputLabel id="component" value="#{bean.entity.name}" />
</p:form>
</p:dialog>
但不幸的是对话框仍然是空的,所以点击按钮后还没有设置实体。我没有收到任何错误。
当我直接在 bean 中设置实体时,它出现在对话框中。
Class:豆子
// getter & setter
entity = entities.get(1);
由于您在 selectOneMenu
中使用自定义 class 而不是简单 String
,您需要自定义转换器。
查看此 tutorial,其中解释了如何实现该目标。
我正在尝试在 p:selectOneMenu
中设置一个对象并在 p:dialog
中显示该对象。
菜单:
<p:form id="form1">
<p:selectOneMenu value="#{bean.entity}" immediate="true">
<f:selectItems value="#{bean.entities}" var="ent" itemLabel="#{ent.name}" itemValue="#{ent}" />
</p:selectOneMenu>
<p:commandButton value="Submit" oncomplete="PF('dlg').show();" update=":form2" />
</p:form>
对话:
<p:dialog header="Title" widgetVar="dlg" modal="true">
<p:form id="form2">
<p:outputLabel id="component" value="#{bean.entity.name}" />
</p:form>
</p:dialog>
但不幸的是对话框仍然是空的,所以点击按钮后还没有设置实体。我没有收到任何错误。
当我直接在 bean 中设置实体时,它出现在对话框中。
Class:豆子
// getter & setter
entity = entities.get(1);
由于您在 selectOneMenu
中使用自定义 class 而不是简单 String
,您需要自定义转换器。
查看此 tutorial,其中解释了如何实现该目标。