S2JSF 1.0.x から 1.1.x への移行ガイド
バージョン1.0系で作成されたアプリケーションを、1.1系へ移行するためには、次の作業が必要です。
(S2JSF1.0.17-example から S2JSF1.1.0-beta3-exampleへの移行を念頭においています。)
以下のjarファイルを削除する。
- myfaces-1.0.9.jar
- commons-codec-1.2.jar
- commons-digester-1.5.jar
- commons-validator.jar
- commons-collections-3.0.jar
- log4j-1.2.8.jar
- ognl-2.6.5.jar
- s2-extension-2.3*.jar
- s2-framework-2.3*.jar
- s2jsf.1.0.*.jar
- xercesImpl-2.5.0.jar
以下のjarファイルを追加する。
- teeda-core-x.x.x.jar
- teeda-extension-x.x.x.jar
- commons-lang-2.1.jar
- jstl-1.1.2.jar
- log4j-1.2.13.jar
- ognl-2.6.7.jar
- s2-framework-2.4.*.jar
- s2-extension-2.4.*.jar
- s2-jsf-1.1.*.jar
- tomahawk.jar(オプション)
- commons-fileupload-1.0.jar(オプション)
- xercesImpl-2.6.2.jar
上記の削除、追加を行って、ビルドパスに追加する。
myfacesの記述を消し、teedaの記述を加える。
- <context-param>で<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>部分を削除
- <context-param>で<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>部分を削除
- <context-param>で<param-name>org.apache.myfaces.PRETTY_HTML</param-name>部分を削除
- <context-param>で<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>部分を削除
listenerの設定を修正
MyFacesのListener登録してあったところを、TeedaのListenerに置き換える。
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
を
<listener>
<listener-class>org.seasar.teeda.core.webapp.TeedaConfigureListener</listener-class>
</listener>
に変更する。
filterの設定を修正
<filter>のrequestDumpFilterの記述を削除
- app.diconにteeda.diconをincludeする
- j2ee.diconを削除する
- jdbc.diconを追加する
- convention.diconを追加する
- teedaCusomize.diconを追加する(*1)
- teedaErrorPage.diconを追加する
- jsf.diconのErrorMessageFinderクラスの指定をTeedaに変更する(*2)
*1:idをMyFacesと互換性を保ちたい場合は、[1]を[2]に変更する。
[1]<component class="org.seasar.teeda.core.render.DefaultComponentIdLookupStrategy" />
[2]<component class="org.seasar.teeda.core.render.JsfSpecComponentIdLookupStrategy" />
*2:jsf.diconのErrorMessageFinderクラスの指定先を[1]から[2]に変更する。
[1]<component name="errorMessageFinder" class="org.seasar.jsf.util.ErrorMessageFinder" />
[2]<component name="errorMessageFinder" class="org.seasar.teeda.core.util.ErrorMessageFinder" />
ファイルアップロード機能は、S2JSFでは提供していません。
MyFacesのinputFileUploadを使用している場合は以下の手順により使用可能になります。
以下のjarファイルをWEB-INF/libに追加します。
- commons-fileupload-1.0.jar
- tomahawk.jar
jsf.diconに以下のMyFacesの拡張タグを追加します。
<initMethod name="addTaglibUri">
<arg>"x"</arg>
<arg>"http://myfaces.apache.org/tomahawk"</arg>
</initMethod>
web.xmlに以下のfilterとfilter-mappingを設定します。
<filter>
<filter-name>extensionsFilter</filter-name>
<filter-class>org.apache.myfaces.component.html.util.ExtensionsFilter</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>100m</param-value>
<description>Set the size limit for uploaded files.
Format: 10 - 10 bytes
10k - 10 KB
10m - 10 MB
1g - 1 GB
</description>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
<description>Set the threshold size - files
below this limit are stored in memory, files above
this limit are stored on disk.
Format: 10 - 10 bytes
10k - 10 KB
10m - 10 MB
1g - 1 GB
</description>
</init-param>
<init-param>
<param-name>uploadRepositoryPath</param-name>
<param-value>/temp</param-value>
<description>Set the path where the intermediary files will be stored.
</description>
</init-param>
</filter>
<filter-mapping>
<filter-name>extensionsFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
|