${param.P}(P は要求パラメーター) を使用します。
この param マップは読み取り専用であるため、タイプが UIInput であるコンポーネントの値として使用されると、 JavaServer Faces ライフ・サイクルの updateModel フェーズが失敗します。 結果として、フォームのアクションは実行されないため、フォームは失敗したように見えます。 これは既知の問題です。 したがって、param マップは出力コンポーネントの場合にのみ使用してください。 この問題に対応する 1 つの方法は、Faces JSP ページのページ・コード・ファイルに変数を定義することです。 次に、その変数用に getter と setter を生成します。 この getter メソッドで、(変数がヌルであれば) 変数を resolveExpression("#{param.xyz}) に初期化します。 そして、「入力」コンポーネントを作成して対象のページのプロパティーにバインドします。
requestScope.put("P", "some value");
値 #{requestScope.P} を使用して、ターゲット・ページを参照することができます。 入力コンポーネントおよび出力コンポーネントの両方で要求範囲を使用できます。
requestScope の ParametersValues は、(名前が暗示しているとおり) 永続的ではありません。 このことは、関連レコード・リストがページングをサポートするデータ・テーブルへの requestScope パラメーターについてフィルター処理される場合に、特に問題になる可能性があります。 ページングに関するこの処理では、有効範囲外のパラメーターで実行依頼が開始されます。 この問題に対応するには、 パラメーターを値として使用する非表示の入力フィールドを作成します。 この方法では、フォームが同じページに戻るような複数のフォーム (ポートレットを含む) をもつページの場合には機能しません。 この場合、パラメーター (推奨) あるいは関連レコード・リスト (非推奨) に対して、 他の有効範囲を検討する必要があります。