3

我正在使用 PrimeFaces 3.5,现在我想要求用户在我的对话框中输入或选择一些数据(选择 oneSelectMenu,或在 inputTextarea 中插入数据)。我还使用表格来安排 UI。

但是我对话框中用户的任何值都不会发送到我的支持 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>

4

1 回答 1

3

移出p:dialogh: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>
于 2013-09-24T04:40:45.727 回答