在我的JSF应用程序中,我有一个包含多个inputtext组件的页面。显示页面时,将使用数据库中的数据填充这些inputtext组件。当我点击提交按钮时,我想将这些值作为参数传递给下一个facelet。
当我点击提交时,正在传递旧值,而不是用户输入的更新值。这是一个inputtext组件的样子:
<div align="center">
<h:outputLabel value="Product Quantity " />
<h:inputText id="quantity" value="#{product.quantity}" />
</div>
然后,在提交按钮中,我试图获取用户键入的值:
<h:button value="Save Edits" outcome="welcome">
<f:param name="quantity" value="#{product.quantity}" />
</h:button>
让我们说100是该字段填充的原始数量。当用户将其更改为110并且命中提交时,欢迎facelet仍然认为100是值。有什么想法吗?
答案 0 :(得分:1)
您是否有任何特殊原因决定使用<h:button/>
代替<h:commandButton/>
?因为这就是你的参数没有进入下一页的原因
<h:commandButton/>
处理它封闭<h:form/>
,在POST请求中将其内容提交给服务器(并且JSF处理生命周期在e.t.c.中启动),而<h:button/>
将生成GET请求。 <h:button/>
通常用于导航。如果你想做的不仅仅是导航
<h:commandButton/>