0

我有一个运作良好的观点。但是,当我在视图主体中添加 required="true" 时,视图开始无法正确读取支持 bean。下面是一个对比:

有谁知道为什么?

不需要= 需要机智= .

编辑:代码片段补充

以下是出现问题的代码片段。如果我将required="true"添加到任何 p:inputText (不仅是属于此对话框的 p:inputText ,而且是 html 正文中的任何 p:inputText ),它将停止显示来自支持 bean 的信息,将其删除,一切正常美好的。

<p:dialog header="Customer Editor" widgetVar="customerEditDialog"
                resizable="false" id="customerEditDlg" showEffect="fade"
                hideEffect="fade" modal="true">

                <h:panelGrid id="editGrid" columns="2" cellpadding="4"
                    style="margin:0 auto;">

                    <h:outputLabel for="customerNameEdit" value="Name: " />
                    <p:inputText id="customerNameEdit" maxlength="30"
                        value="#{customerController.customerAdd.name}" />
                    <h:outputLabel for="customerPhoneNumberEdit" value="Phone Number " />
                    <p:inputText id="customerPhoneNumberEdit" maxlength="15"
                        onkeypress="if(event.which  &lt; 48 || event.which  &gt; 57) return false;"
                        value="#{customerController.customerAdd.phoneNumber}" />
                    <h:outputLabel for="customerEmailEdit" value="Email: " />
                    <p:inputText id="customerEmailEdit" maxlength="49"
                        value="#{customerController.customerAdd.email}" />
                    <h:outputLabel for="customerAddressEdit" value="Address: " />
                    <p:inputText id="customerAddressEdit" maxlength="190"
                        value="#{customerController.customerAdd.address}" />
                    <f:facet name="footer">
                        <div style="text-align: right">
                            <p:commandButton id="editCustomerButton"
                                update=":form:customerList, :form:messages"
                                oncomplete="customerEditDialog.hide()" value="Save"
                                actionListener="#{customerController.editCustomer()}">
                            </p:commandButton>

                            <p:commandButton id="cancelEditCustomerButton" update=":form"
                                onclick="customerEditDialog.hide()" value="Cancel">
                            </p:commandButton>
                        </div>
                    </f:facet>
                </h:panelGrid>
            </p:dialog>
4

1 回答 1

1

看看jsf required=true 是否破坏了 setPropertyActionListener?帮助你。

<h:form>问题很可能是由于其他地方的验证错误或者您正在嵌套元素而不会调用您的 bean 中的 setter 。

于 2014-02-19T10:41:41.190 回答