07-00より前のバージョンと07-00以降のバージョンでは,JSPのコンパイルの動作が異なります。Cosminexusでは,JSPトランスレーション時に,JSP仕様に従ってJSPの内容がチェックされるため,JSPトランスレーション時にエラーになって移行できないことがあります。その場合,JSPトランスレーション下位互換機能を使用すると,07-00より前のバージョンと07-00以降のバージョンでJSPのコンパイルの動作を同じように設定できて,エラーが発生しないようにすることができます。
JSPトランスレーション下位互換機能を使用するには,簡易構築定義ファイルで設定する方法と,cjjspcコマンドを実行するときにオプションに指定する方法の二つがあります。簡易構築定義ファイルで設定する方法については,マニュアル「Cosminexus 簡易構築・運用ガイド」の論理J2EEサーバで指定できるパラメタについての説明を参照してください。cjjspcコマンドを実行するときにオプションに指定する方法については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。
07-00以降のバージョンで,JSPトランスレーション下位互換機能を使用するとき(07-00より前のバージョンと同じコンパイルの動作をするとき)とJSPトランスレーション下位互換機能を使用しないときの,コンパイルの動作の差異を次に示します。
- JSPのカスタムタグに,javax.servlet.jsp.tagext.TagExtraInfoクラスのサブクラスで指定するスコープや,TLDファイルのvariable要素内のscope要素で指定するスコープの指定が重複した,同一名称のスクリプト変数を定義する場合
- JSPトランスレーション下位互換機能を使用する
2回目以降のカスタムタグに対応するJSPから生成されたJavaコードでも,スクリプト変数の変数宣言をする。
- JSPトランスレーション下位互換機能を使用しない
- 2回目以降のカスタムタグに対応するJSPから生成されたJavaコードでは,スクリプト変数の変数宣言をしない。
- インスタンス化できないクラス名をclass属性に指定した場合
- JSPトランスレーション下位互換機能を使用する
- 2回目以降の<jsp:useBean>タグで指定したid属性値がエラーにならないで,Beanが取得できる。
- JSPトランスレーション下位互換機能を使用しない
- JSPのトランスレーション時にエラーになる。
- Expressionの指定が許されていないタグの属性値に,Expressionを指定した場合
- JSPトランスレーション下位互換機能を使用する
- Expressionの指定が許されていないタグの属性値に指定したExpressionは,文字列として扱われる。
- JSPトランスレーション下位互換機能を使用しない
- JSPのトランスレーション時にエラーになる。
- タグの属性値が「"<%=」(または「'<%=」)で開始していて,「%>"」(または「%>'」)で終了していない場合
- JSPトランスレーション下位互換機能を使用する
- 「"」(または,「'」)で囲まれた属性値を,文字列として処理する。
- JSPトランスレーション下位互換機能を使用しない
- 「"」(または,「'」)で囲まれた属性値を,Expressionとして処理する。
- taglibディレクティブの前に,taglibディレクティブで指定したprefixを使用したカスタムタグを記述している場合
- JSPトランスレーション下位互換機能を使用する
カスタムタグではなく文字列として扱う。
- JSPトランスレーション下位互換機能を使用しない
- JSPのトランスレーション時にエラーになる。
JSPを移行するときの注意事項については,次の個所を参照してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.