1

我会创建一个检查输入信息关于指定在: http: //www.primefaces.org/showcase/ui/message/messages.xhtml

我创建了一个包含很多必填字段(属性 required="true" 的 inputText)和 ap:message 到数据表部分的数据表。问题是当我单击按钮保存数据时:我的页面中没有看到警报消息,但开始执行关联的 bean。为什么?

我在 .xhtml 中的代码是这样的:

<h:form>  
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
<p:dataTable var="myAtt"
             value="#{myBean.attributes}"
             rowIndexVar="myAttIndex">
    <h:inputHidden value="#{myAtt.value}" rendered="#{myAtt.description == 'XXX'}" />
    <p:column rendered="#{myAtt.description == 'XXX'}">
        <h:outputText value="*" rendered="#{myAtt.required}" />  
    </p:column>
    <p:column rendered="#{ myAtt.description == 'YYY'">
        <p:fragment rendered="#{myAtt.description == 'ZZZ'">
            <p:fragment rendered="#{myAtt.value == 'value1'}">
                <p:inputText size="#{myAtt.maxLength}" 
                             value="#{myAtt.value}"
                             rendered="#{myAtt.const == 't1'}"
                             required="true"
                             id="idText">
                    <p:ajax process="@this" event="change" update="@form"/>
                </p:inputText>
                <p:message for="idText"/>
            </p:fragment>
        </p:fragment>
    </p:column>
</p:dataTable> 
<br />
<p:commandButton value="Create" action="#{myBean.commit()}" process="@this" update=":MYPAGE"/>

谢谢。

4

1 回答 1

0

您忘记指明 id 的h:form<h:form id="myForm">

在更新时,p:commandButton您必须指明表单的 id:update=":MYPAGE :myForm"

编辑

根据 PrimeFaces 用户指南 3.5,action当用户单击按钮时将调用该属性。

命令按钮

于 2015-08-31T08:46:45.457 回答