Jsf 在菜单中设置值并在对话框中显示

Jsf 在菜单中设置值并在对话框中显示,jsf,primefaces,Jsf,Primefaces,我试图在p:selectOneMenu中设置一个对象,并在p:dialog中显示该对象 菜单: 由于您在selectOneMenu中使用的是自定义类,而不是简单的String,因此需要自定义转换器 查看这篇文章,它解释了如何实现这一点。这个问题是在访问您的页面并单击“提交”按钮之后出现的,还是在对selectOneMenu组件进行了一些更改之后出现的?·@A.Henteti:我在selectOneMenu中选择了一个值,然后单击了commandButton。对话框出现,但在selectOneMe

我试图在
p:selectOneMenu
中设置一个对象,并在
p:dialog
中显示该对象

菜单:


由于您在
selectOneMenu
中使用的是自定义类,而不是简单的
String
,因此需要自定义转换器


查看这篇文章,它解释了如何实现这一点。

这个问题是在访问您的页面并单击“提交”按钮之后出现的,还是在对selectOneMenu组件进行了一些更改之后出现的?·@A.Henteti:我在
selectOneMenu
中选择了一个值,然后单击了commandButton。对话框出现,但在
selectOneMenu
中没有刚刚选择的值。如果您在开发模式下运行应用程序,您不会收到任何错误吗?它在没有对话的情况下工作?这能回答你的问题吗?请始终尝试创建一个。。。它帮助你缩小范围,让我们找到原因。有时,它甚至可以帮助您找到原因或“重复”答案,如下所示:
<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> 
// getter & setter

entity = entities.get(1);