JSF開発におけるweb.xmlの基本的な設定方法

2009/06/20 15:47Update
TAGS: JSF | web.xml | 設定

JSFアプリケーションを動かすには、web.xmlの基本的な設定方法について学びます。

web.xmlの基本的な書き方



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                         "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
    <!-- その他タグはこの中に書く -->
</web-app>

web.xml詳細について、ここでの解説を省きます。

JSF関連設定


1)javax.faces.CONFIG_FILES設定
JSFの設定ファイル(faces-config.xml)はどこにあるかを設定します。オプション。
例:
 <context-param>
  <param-name>javax.faces.CONFIG_FILES</param-name>
  <param-value>
    /WEB-INF/faces-config.xml,
    /WEB-INF/faces-config-02.xml
  </param-value>
  <description>JSFの設定ファイルを半角カンマ(,)区切りで記述します。(例:/WEB-INF/my-config.xml)。記述しなかった場合、デフォルトでは、classpathにあるfaces-config.xmlを読み込みます</description>
 </context-param>


2)javax.faces.STATE_SAVING_METHOD設定
JSFコンポーネントツリーの状態はどこに保持するかを設定します。オプション。
例:
 <context-param>
  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  <param-value>client</param-value>
  <description>状態保持方法:"client" もしくは "server" (= デフォルト)
</description>
 </context-param>


3)org.apache.myfaces.ALLOW_JAVASCRIPT設定(MyFaces)
 myfacesの場合の独自の設定。HTML出力(描画)する際、出力するHTMLコードにJavaScriptを許容するかどうかを設定します。オプション。falseと設定される場合、commandLinkなどはJavaScriptを使用せず、URLにパラメータをつける形でサブミットします。
 デフォルト値:true
例:
 <context-param>
  <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
  <param-value>true</param-value>
 </context-param>


4)org.apache.myfaces.PRETTY_HTML設定(MyFaces)
 myfacesの独自の設定。trueの場合、出力されるHTMLコードはきれいに整形されるようになります。オプション。
 デフォルト値:true
例:
 <context-param>
  <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
  <param-value>true</param-value>
 </context-param>


5)フィルタ設定(MyFaces)
ファイルアップロードコンポーネントを利用する時のフィルタ設定です。オプション。
 <filter>
  <filter-name>ExtensionsFilter</filter-name>
  <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
 </filter>

 <filter-mapping>
  <filter-name>ExtensionsFilter</filter-name>
  <servlet-name>FacesServlet</servlet-name>
 </filter-mapping>


5)リスナー設定。(MyFaces)
 オプション。
例:
<listener>
 <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>


6)FacesServlet設定
 必須。
例:
 <servlet>
  <servlet-name>FacesServlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>

 <servlet-mapping>
  <servlet-name>FacesServlet</servlet-name>
  <url-pattern>*.faces</url-pattern>
 </servlet-mapping>

※url-patternに適当なURLパターンを入力してください。*.facesと指定される場合、URLの末尾(拡張子)にfacesであるすべてのリクエストをFacesServletに処理させることになります。

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments