0

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

4

1 回答 1

1

您决定使用 a<h:button/>而不是 a 有什么特别的原因<h:commandButton/>吗?因为这就是你的参数没有进入下一页的原因

<h:commandButton/>处理它所包含<h:form/>的内容,在 POST 请求中将其内容提交给服务器(以及 JSF 处理生命周期等),同时<h:button/>将生成一个 GET 请求。<h:button/>一般用于导航。<h:commandButton/>如果您想做的不仅仅是导航,请坚持

于 2012-12-16T04:51:31.357 回答