Forms 带2个按钮的Primefaces表单不更新

Forms 带2个按钮的Primefaces表单不更新,forms,jsf,primefaces,Forms,Jsf,Primefaces,我有一个表单,它有一个inputtext,操作员在其中输入clientid并单击“搜索”,搜索完成后,表单中的其他字段将正确填充 然后我有一个按钮“newrecord”,它调用一个过程,该过程创建另一个对象(不是客户)并需要持久化它,当在bean中创建另一个对象时,它从表单中获取除时间戳之外的所有字段 当对象被持久化时,只有时间戳在数据库中,所有表单值都被设置为null <h:form id="myForm"> <h:outputText value="Customer

我有一个表单,它有一个inputtext,操作员在其中输入clientid并单击“搜索”,搜索完成后,表单中的其他字段将正确填充

然后我有一个按钮“newrecord”,它调用一个过程,该过程创建另一个对象(不是客户)并需要持久化它,当在bean中创建另一个对象时,它从表单中获取除时间戳之外的所有字段

当对象被持久化时,只有时间戳在数据库中,所有表单值都被设置为null

<h:form id="myForm">
    <h:outputText value="Customer number" /> 
    <h:inputText id="cIdentidad" value="#{custBean.custID}" />
    <p:commandButton  process="@all" update="@all"  action="#{custBean.populateFields(custBean.custID)}" value="Search" />               
    <p:growl />

    <h:panelGrid id="newCust" columns="2" style="margin-top: 15px">
        <h:outputText value="Name" /> 
        <h:inputText id="name" value="#{custBean.name}" disabled="true"/>
        <h:outputText value="more fields" /> 
        <h:inputText id="nroAgenda" value="#{custBean.morefields}" disabled="true"/>
    </h:panelGrid>

    <p:commandButton  process="@all" update="@all"  action="#{custBean.newRecord()}" value="New record" />
</h:form>


禁用了
h:inputText
,因此该值不会提交到服务器。也许您正在寻找
readonly=“true”

此外,我不会到处使用
@all
,而是使用
@form
update=“@all”
有一个特殊的属性


另请参见答案。

bean已完成会话处理