0

私の JSF アプリケーションには、いくつかの inputtext コンポーネントを含むページがあります。ページが表示されると、これらの inputtext コンポーネントにデータベースからのデータが取り込まれます。送信ボタンを押したら、これらの値をパラメーターとして次の facelet に渡したいと思います。

[送信] をクリックすると、ユーザーが入力した更新された値ではなく、古い値が渡されます。inputtext コンポーネントの 1 つを次に示します。

            <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 に変更して送信すると、welcome フェイスレットは依然として 100 が値であると認識します。何か案は?

4

1 に答える 1

1

<h:button/>の代わりにa を使用することにした特定の理由はあります<h:commandButton/>か? それがあなたのパラメータが次のページに進まない理由です

<h:commandButton/>が囲ん<h:form/>でいる を処理し、そのコンテンツを POST リクエストでサーバーに送信します (そして、JSF 処理ライフサイクルが開始されます) 一方で、<h:button/>は GET リクエストを生成します。<h:button/>一般的にナビゲーションに使用されます。<h:commandButton/>ナビゲート以上のことをしたい場合は、固執してください

于 2012-12-16T04:51:31.357 に答える