我正在使用PrimeFaces 3.5,现在我想让用户在我的对话框中输入或选择一些数据(选择oneSelectMenu,或在inputTextarea中插入数据)。我还使用表格来安排用户界面。
但是我的对话框中用户的任何值都不会发送到我的支持bean。 我认为这是因为我在对话中使用它。
我试图在对话框外移动我的oneSelectMenu,它工作正常!
任何人都知道什么是错的?任何回复都将不胜感激。
我的支持bean是一种标准的getter和setter。 (我认为我的支持bean没什么问题,因为它在对话框之外工作正常)
这是我的xhtml代码:
<p:dialog id="dlgNew" header="New Action Item" widgetVar="dlg1" modal="true" resizable="false"
width="40%" height="55%" appendToBody="true">
<table>
<tr>
<td><p:outputLabel value="Detail"/></td>
<td>:</td>
<td><p:inputTextarea rows="5" cols="40" value="#{aiBean.detail}"/></td>
</tr>
<tr>
<td><p:outputLabel value="Status"/></td>
<td>:</td>
<td><p:selectOneMenu effect="fade" value="#{aiBean.status}">
<f:selectItem itemLabel="Not Started" itemValue="Not Started" />
<f:selectItem itemLabel="On Progress" itemValue="On Progress" />
<f:selectItem itemLabel="Finished" itemValue="Finished" />
</p:selectOneMenu>
</td>
</tr>
<tr>
<td></td><td></td>
<td>
<p:commandButton value="Add" action="#{aiBean.insertAi}"/>
<p:commandButton value="Cancel" onclick="dlg1.hide()"/></td>
</tr>
</table>
答案 0 :(得分:3)
将p:dialog
移出h:form
(如果有的话)
将h:form
放入p:dialog
。
<p:dialog id="dlgNew" header="New Action Item" widgetVar="dlg1" modal="true" resizable="false"
width="40%" height="55%" appendToBody="true">
<h:form>
...
...
</h:form>
</p:dialog>