第3章 異なる環境の設定
RichFaces には JSF (JavaServer Faces) 仕様に含まれるすべてのタグ (コンポーネント) に対するサポートが含まれています。 既存の JSF プロジェクトに RichFaces の機能を追加するには、 RichFaces ライブラリをプロジェクトの
lib ディレクトリに配置し、 フィルタマッピングを追加します。 RichFaces を追加しても既存プロジェクトの動作は変更しません。
3.1. Web アプリケーション記述子パラメータ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
RichFaces では
web.xml にパラメータを定義する必要はありませんが、 下記の RichFaces パラメータは開発中に便利なパラメータで、 RichFaces アプリケーションの柔軟性を向上します。
| 名前 | デフォルト | 内容 |
|---|---|---|
| org.richfaces.SKIN | DEFAULT | アプリケーションで使用されるスキンの名前です。 スキン名を含むリテラルストリングか、 org.richfaces.framework.skin タイプのプロパティの String プロパティ (スキン名) に関連する EL 表現 (#{...}) になります。 EL 表現の場合、 そのインスタンスが現在のスキンとして使用されます。 |
| org.richfaces.LoadScriptStrategy | DEFAULT | RichFaces スクリプトファイルがアプリケーションへロードされる方法を定義します。 可能な値は ALL、 DEFAULT、 NONE です。 |
| org.richfaces.LoadStyleStrategy | DEFAULT | RichFaces スタイルファイルがアプリケーションへロードされる方法を定義します。 可能な値は ALL、 DEFAULT、 NONE です。 |
| org.ajax4jsf.LOGFILE | なし | アプリケーションの URL またはコンテナログファイル (該当する場合) です。 このパラメータが設定されている場合、 指定の URL からのコンテンツは iframe ウインドウのデバッグページ上に表示されます。 |
| org.ajax4jsf.VIEW_HANDLERS | なし | ビューハンドラチェーンに挿入するための ViewHandler インスタンスのコンマ区切りリストです。 これらのハンドラは、 リストされた順に RichFaces のビューハンドラの前に挿入されます。 Facelets アプリケーションでは、 faces-config.xml ファイルではなく、 このリストに com.sun.facelets.FaceletViewHandler を宣言します。 |
| org.ajax4jsf.CONTROL_COMPONENTS | なし | メッセージバンドルローダやエイリアス Bean コンポーネントなど特別な 制御ケース コンポーネントのコンマ区切りリストです。 これらのハンドラは静的フィールド COMPONENT_TYPE からの反射より提供されます。 これらコンポーネントのエンコーディングメソッドは、 コンポーネントが更新されていなくても AJAX 応答のレンダリング中に常に呼び出されます。 |
| org.ajax4jsf.ENCRYPT_RESOURCE_DATA | false | 生成されたリソース (暗号生成データなど) ではリソース URL でエンコードされます。 例えば、 mediaOutput コンポーネントによって生成されたイメージの URL には生成メソッド名が含まれます。 悪意のあるコードはこれを利用して JSF Bean や属性の要求を作成できるため、 重大なアプリケーションではこのパラメータを true に設定する必要があります (この修正は Java Runtime Environment 1.4 で動作します)。 |
| org.ajax4jsf.ENCRYPT_PASSWORD | random | リソースデータの暗号化に使用されるパスワードです。 設定されていないと、 無作為のパスワードが使用されます。 |
| org.ajax4jsf.COMPRESS_SCRIPT | true | 定義されると、 フレームワークが JavaScript ファイルを再フォーマットできなくなります。 そのため、 デバッグ機能が使用できなくなります。 |
| org.ajax4jsf.RESOURCE_URI_PREFIX | a4j | 生成されたリソースすべての URL に追加するプレフィックスを定義します。 RichFaces によって生成されたリソース要求を処理することが目的です。 |
| org.ajax4jsf.GLOBAL_RESOURCE_URI_PREFIX | a4j/g | すべてのグローバルリソースの URI に追加されるプレフィックスを定義します。 RichFaces によって生成されたリソース要求を処理するためのプレフィックスです。 |
| org.ajax4jsf.SESSION_RESOURCE_URI_PREFIX | a4j/s | 生成されたリソースのセッションを追跡するために使用するプレフィックスを定義します。 RichFaces によって生成されたリソース要求を処理するためのプレフィックスです。 |
| org.ajax4jsf.DEFAULT_EXPIRE | 86400 | リソースがブラウザへストリームバックされた時にリソースがキャッシュされる期間 (秒単位) を定義します。 |
| org.ajax4jsf.SERIALIZE_SERVER_STATE | false | true に設定されると、 コンポーネントのステート (ツリーではない) がセッションに保存される前にシリアライズされます。 モデル変更に影響を受けるビューステートを持つアプリケーションで有用です。 この代わりに各環境で com.sun.faces.serializeServerState パラメータと org.apache.myfaces.SERIALIZE_STATE_IN_SESSION パラメータを使用することもできます。 |
注記
org.richfaces.SKIN は org.ajax4jsf.SKIN と同様に使用されます。
| 名前 | デフォルト | 内容 |
|---|---|---|
| log4j-init-file | - | log4j.xml 設定ファイルへの (Web アプリケーションのコンテキストに相対的な) パスです。アプリケーションごとのカスタムロギングを設定するために使用できます。 |
| enable-cache | true | フレームワークによって生成されたリソース (JavaScript、 CSS、 イメージなど) のキャッシングを有効にしますが、 カスタムの JavaScript やスタイルをデバッグする際はキャッシュされたリソースは使用されません。 |
| forcenotrf | true | すべての JSF ページが HTML 構文チェックフィルタによって解析されるよう強制します。 false に設定すると、 AJAX 応答のみが解析され、 整形式 XML へ変換されます。 false に設定するとパフォーマンスは向上されますが、 AJAX の更新中に予期しない情報がレンダリングされる原因にもなります。 |