jsf输入文本到bean

时间:2012-12-16 01:49:27

标签: jsf

在我的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是值。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您是否有任何特殊原因决定使用<h:button/>代替<h:commandButton/>?因为这就是你的参数没有进入下一页的原因

<h:commandButton/>处理它封闭<h:form/>,在POST请求中将其内容提交给服务器(并且JSF处理生命周期在e.t.c.中启动),而<h:button/>将生成GET请求。 <h:button/>通常用于导航。如果你想做的不仅仅是导航

,请坚持<h:commandButton/>