0

この質問は、次の投稿を「拡張」しています

ポスト後の JSF でのビュー パラメータの処理

ダイアログで開いているカスタム URL を作成しているとします。URL例「test.html?id=123」

「id=123」部分を h:form アクションに挿入して、追加のパラメーター「id=123」部分で同じビューに戻るようにします。

私は上記の投稿に従い、ViewHandlerWrapper を拡張するカスタム ViewHandler という 3 番目のソリューションに取り組みました。

アクションを変更すると、フォームが同じオリジンにリダイレクトされます (今までは機能していました)。

最初の問題 次の xhtml ページがあるとします。

<f:metadata>
    <f:event type="preRenderView" listener="#{bean.init}" />
    <f:viewParam name="id" value="#{bean.id}"/>
</f:metadata>

<h:form>
    ...
    ...
</h:form>
  1. 上記を投稿すると、バックエンドで正しい id 値が取得されます。
  2. 投稿を再送信すると、null 値が返されますが、URL は同じままです (test.html?id=xxx)
  3. 2 回目の送信で null 値を取得する理由がわかりません

2 番目の問題は、フォームを検証してすべて問題ない場合、submit メソッドが新しい URL "test.html?force-redirect=true..." を返すことですが、これは起こらず、代わりに URL がh:form アクションに入力されたもの (新しい URL でカスタム リダイレクトを作成すると動作し、「test.html?faces-redirect=true...」にリダイレクトされます)。

私の質問は、理論的なものだと思いますが、これは想定される動作ですか?

ありがとう、ディマン

4

0 に答える 0