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