8.2.8 JSP 2.2仕様およびJSP 2.3仕様に関する注意事項
JSP 2.2仕様およびJSP 2.3仕様に関する注意事項を示します。
- 〈この項の構成〉
(1) JSPのコンパイルエラーについて
11-00以前のバージョンでは,JSP 2.2で追加されたタグに関しては無視していましたが,11-10以降のバージョンでは,JSP 2.2で追加されたタグをサポートします。そのため,タグの指定内容に問題がある場合にはJSPのコンパイルに失敗することがあります。
JSP 2.2仕様およびJSP 2.3仕様では処理が追加になっているため,メソッドの処理内容が多いとコンパイル時にエラーとなるおそれがあります。エラーとなった場合は,JSPの処理をメソッド化して分けて1メソッドの処理内容を少なくしてください。
(2) 11-00以前のバージョンで作成したWebアプリケーションのバージョンが,3.0または3.1の場合のJSPの実行について
11-00以前のバージョンでは,Webアプリケーションのバージョンが3.0または3.1の場合,JSPのバージョンは2.1としてコンパイルしていました。11-10以降のバージョンの推奨モードでは,Webアプリケーションのバージョンが3.0または3.1の場合のJSPのバージョンは2.2または2.3となります。ただし,11-00以前のバージョンの環境で,事前コンパイル結果が存在する場合だけ,Webアプリケーションのバージョンが3.0または3.1であってもJSPのバージョンは2.1のままとなります。
(3) JSP 2.2でのbean取得時の排他制御
jsp:useBean利用時の排他制御についての動作を次に示します。
Webアプリケーションのバージョン |
内容 |
---|---|
3.0以降 |
Application ScopeおよびSessionScopeの場合は,beanの取得および生成時にスコープごとの排他制御を実施します。 |
2.5以前 |
すべてのスコープで,beanの取得および生成時にスコープごとの排他制御を実施します。 |
(4) JSP 2.3でのHTTPメソッドに対するJSPページの出力
HTTPメソッドに対するJSPページの出力についての動作を次に示します。
Webアプリケーションのバージョン |
内容 |
---|---|
3.1以降 |
HTTPメソッドのGET,POST,HEAD,およびOPTIONに対してだけJSPページを出力します。 GET,POST,HEAD,およびOPTION以外のHTTPメソッドに対しては「405 Method Not Allowed」を返します。 |
3.0以前 |
すべてのHTTPメソッドに対してJSPページを出力します。 |
(5) インポートしたパッケージ・クラス・staticフィールドのEL式使用について
JSPでEL3.0を利用する場合に,pageディレクティブやtagディレクティブでインポートしたパッケージ・クラスを,ImportHandlerでインポートしたパッケージ・クラスとしてEL式で使用できます。
ただし,staticインポートは適用されないため,pageディレクティブやtagディレクティブを用いたstaticインポート後にEL式にクラス名なしのstaticフィールドを記述しても使用できません。
使用できる例,使用できない例を次に示します。
- 使用できる例
<%@ page import="com.FooClass" %> (中略) ${FooClass.FOO_VALUE}
- 使用できない例
<%@ page import="static com.FooClass.FOO_VALUE" %> (中略) ${FOO_VALUE}