0

2 つのビュー (「A」と「B」と呼ばれる) の間でフォーム フィールドの値を GET パラメータとして渡そうとしています。「B」では、f:metadata と f:viewParam でパラメータを扱います。この部分は、URL を直接使用するとうまく機能します。

ただし、別のビュー「A」からフィールドを渡したいのですが、現在のところ成功していません。フィールドは次のように定義されています。

<h:form>
<p:inputText id="field1" value="#{A.field1}"/>
<p:inputText id="field2" value="#{A.field2}"/>
[...]
</h:form>

Primefaces p:button 内で f:param を使用すると、パラメーターは送信されますが、動的に取得されません (実際、Web ページの HTML コードを確認すると、フォームの初期値は「静的に」書き込まれます)。

これを処理するための最良のアプローチは何ですか?

前もって感謝します

4

1 に答える 1

0

h:buttonで使用f:param:

<h:button outcome="B.xhtml" value="Click me!">
    <f:param name="maybe_an_id" value="3" />
</h:button>

これにより、通常の HTML ボタンが生成され、クリックすると次のような Javascript が表示されます。

<input type="button" value="Click me!"
  onclick="window.location.href='/path/to/B.xhtml?maybe_an_id=3'; return false;">

参照: h:commandLink の代わりに h:outputLink を使用する必要があるのはいつですか?

于 2012-07-30T18:34:42.063 に答える