Jsf <;h:输入文本>;不更新

Jsf <;h:输入文本>;不更新,jsf,Jsf,我有一个带有表单和输入文本的页面,它表示bean的值。在页面底部,我有一个导航按钮,可以转到下一个条目: <h:form id="customerData"> ... <h:outputText value="#{customeredit.customer.name}" /> <br /> <h:inputText size="60" id="name" value="#{customeredit.customer.name}"

我有一个带有表单和输入文本的页面,它表示bean的值。在页面底部,我有一个导航按钮,可以转到下一个条目:

<h:form id="customerData">
...
    <h:outputText value="#{customeredit.customer.name}" />
    <br />
    <h:inputText size="60" id="name" value="#{customeredit.customer.name}" />
...
</h:form>

<p:commandButton value="Next customer" action="customers" ajax="false" id="nextCustomer">
    <f:param name="linkageAreaId" value="#{customeredit.nextCustomer.id}" />
</p:commandButton>

...

...

如果我点击按钮,页面将重新加载,一个新的customer对象将在后台加载,除了inputText之外,所有条目都将更新。outputText会更改,但inputText始终保留初始化时获得的值。我还与getter进行了检查,getter返回的值随着新客户的变化而变化,但inputText中显示的值始终保持不变。

如果嵌套表单(HTML格式),则可能会发生这种情况,因此输入和按钮最终都以相同的表单结束。然后该按钮也会提交输入字段。在任何情况下,都不应使用
进行页到页导航。改用

<p:button value="Next customer" outcome="customers" id="nextCustomer">
    <f:param name="linkageAreaId" value="#{customeredit.nextCustomer.id}" />
</p:button>

不要忘记修复嵌套表单问题

另见:

“我还与getter进行了检查,getter返回的值随着新客户的变化而变化,但inputText中显示的值始终保持不变。”请仔细检查。使用稍微不同的commandButton操作(
action=“{myBean.actionNextGuy()”
),我无法复制JSF的哪个版本?@Jean:试试看,让我知道。我认为引发错误的嵌套表单可能取决于所使用的浏览器。好的,行为是“未确定的”