JavaServer Pages 固有の Web コンテナーのカスタム・プロパティー
データの名前と値のペアを構成することができます。 名前はプロパティー・キー、値はストリング値で、これらを使用することにより、内部のシステム構成プロパティーを設定できます。 新規プロパティーを定義すると、管理コンソールで指定可能である以外の設定を構成することができます。
- com.ibm.ws.jsp.getparameterreturnemptystring
- com.ibm.ws.jsp.jdksourcelevel
- com.ibm.ws.jstl.allowLenientDateParsing
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- com.ibm.wsspi.jsp.allowunmatchedendtag
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- com.ibm.wsspi.jsp.modifyPageContextVariable
- com.ibm.wsspi.jsp.recompilejsponrestart
- com.ibm.wsspi.jsp.usecdatatrim
- com.ibm.wsspi.jsp.usescriptvardupinit
- com.ibm.wsspi.jsp.usestringcast
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
com.ibm.ws.jsp.getparameterreturnemptystring
このカスタム・プロパティーを使用して、バージョン 5.1 アプリケーションのマイグレーションを容易にします。
JSP ファイルに設定されていないアクションが JSP ファイルに含まれている場合は、JSP エンジンは NULL を返します。バージョン 5.1 では、JSP ファイルに設定されていないアクションが JSP ファイルに含まれている場合は、JSP エンジンは空ストリングを返していました。引き続きアプリケーションで空ストリングを返すようにする必要がある場合は、このプロパティーを JSP 設定に追加し、true に設定します。このプロパティーを true に設定すると、jsp:getProperty の呼び出しで返される値が、NULL ではなく、空ストリングになります。
- 名前
- com.ibm.ws.jsp.getparameterreturnemptystring
- 値
- ブール
com.ibm.ws.jsp.jdksourcelevel
このプロパティーを使用して、管理コンソールでの JDK ソース・レベルを設定します。
JSP エンジンのパラメーターは、異なるレベルの JDK に対して構成できます。ただし、JSP パラメーターを設定するには、Web モジュールごとに Web 拡張ファイルで jdksourcelevel JSP 属性を設定することが必要です。 ただし、com.ibm.ws.jsp.jdksourcelevel カスタム・プロパティーを使用して、Web コンテナーのカスタム・プロパティーによって、JSP 属性をグローバルに設定できます。 この属性が、Web 拡張ファイルでも定義されている場合、Web 拡張ファイルで定義されている プロパティーが、その特定のアプリケーションのカスタム・プロパティーより優先されます。 このカスタム・プロパティーは、大文字小文字の区別がありません。
デフォルト値は 17 です。
- 名前
- com.ibm.ws.jsp.jdksourcelevel
- 値
- 13、14、15、16、17、または 18
com.ibm.wsspi.jsp.allowjspoutputelementmismatch
以前のリリースでは、CTS 要件が製品に適用されなかったため、JSP コンテナー は jsp:output エレメントの中にプロパティーを複数指定することができました。現在のリリース では、CTS に準拠するには、JSP コンテナーは、jsp:output エレメントにプロパティーを 複数指定する場合に関するルールを厳密に施行する必要があります。com.ibm.wsspi.jsp.allowjspoutputelementmismatch カスタム・プロパティーを使用して、旧バージョンとの互換性のルールの制約を緩和できます。
- 名前
- com.ibm.wsspi.jsp.allowjspoutputelementmismatch
- 値
- ブール
com.ibm.ws.jstl.allowLenientDateParsing
<fmt:parseDate value="20070311 02:00:00 AM"
var="myTestDate"
type="date"
pattern="yyyyMMdd HH:mm:ss a" />
java.text.ParseException: Unparseable date: "20070311 02:00:00 AM"
at java.text.DateFormat.parse(DateFormat.java:349) at
org.apache.taglibs.standard.tag.common.fmt.ParseDateSupport.doEn dTag(ParseDateSupport.java:178)
at com.ibm._jsp._testDate._jspx_meth_fmt_parseDate_0(_jstlDate.java :123)
at com.ibm._jsp._testDate._jspService(_jstlDate.java:86) ... 28 more
特定のアプリケーションで parseDate タグを使用する際に日付の構文解析を緩いものにする場合は、そのアプリケーションの web.xml ファイルに com.ibm.ws.jstl.allowLenientDateParsing プロパティーをコンテキスト・パラメーターとして追加し、このパラメーターを true に設定します。
以下は、web.xml ファイルでこのプロパティーをコンテキスト・パラメーターとして指定する方法を示した例です。
<context-param>
<param-name>com.ibm.ws.jstl.allowLenientDateParsing</param-name>
<param-value>true</param-value>
</context-param>

com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
CTS に準拠するには、接頭部を定義するタグ・ライブラリー・ディレクティブ を、カスタム・タグで接頭部が使用される前に指定しておく必要があります。このルールは、CTS 要件が必須ではなかった以前のリリースでは施行されませんでした。 しかし、com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition カスタム・プロパティーを使用して、 以前のバージョンとの互換性のルールの適用を緩和できます。
- 名前
- com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
- 値
- ブール
com.ibm.wsspi.jsp.allowtaglibprefixredefinition
CTS に準拠するには、タグ・ライブラリーの接頭部が既に JSP 内の別の URI を使用して定義されている場合に製品が変換エラーを作成する必要があります。 このルールは、CTS 要件が必須ではなかった以前のリリースでは施行されませんでした。 ただし、com.ibm.wsspi.jsp.allowtaglibprefixredefinition カスタム・プロパティーを使用して、旧バージョンとの互換性のルールの制約を緩和できます。
- 名前
- com.ibm.wsspi.jsp.allowtaglibprefixredefinition
- 値
- ブール
com.ibm.wsspi.jsp.allowunmatchedendtag
このカスタム・プロパティーを使用して、バージョン 5.1 アプリケーションのマイグレーションを容易にします。
終了タグによる不適切なタグ閉じがある場合には、変換例外が生成されます。本製品のバージョン 5.1 では、終了タグによる不適切なタグ閉じは無視されていました。終了タグによる不適切なタグ閉じがあるバージョン 5.1 のアプリケーションをマイグレーションし、終了タグによる不適切なタグ閉じが発生した時に変換例外が発行されないようにする場合は、このカスタム・プロパティーを Web コンテナー設定に追加して、true に設定できます。
このプロパティーを true に設定すると、サーバーのすべてのアプリケーションでこの機能が使用可能になります。特定のアプリケーションでこの機能を使用可能にする場合は、その特定のアプリケーションの拡張ファイルで JSPAttribute allowUnmatchedEndTag を指定します。
- 名前
- com.ibm.wsspi.jsp.allowunmatchedendtag
- 値
- ブール
com.ibm.wsspi.jsp.evalquotedandescapedexpression
このプロパティーを使用して、式が含まれた関数をコンパイルします。JSP 変換コードは、式を評価するか、または式をリテラル・ストリングとして扱うか を決定するときに、エスケープ文字および引用符を適切に処理するよう変更されました。 この動作をすべての Web アプリケーション間でグローバルに適用するには、以下の 名前と値のペアを Web コンテナーのカスタム・プロパティーとして追加します。
- 名前
- com.ibm.wsspi.jsp.evalquotedandescapedexpression
- 値
- ブール
単一アプリケーションでこの新しい動作を有効にする には、evalquotedandescapedexpression JSP 属性を障害が発生しているアプリケーション の ibm-web-ext.xmi または ibm-web-ext.xml ファイルに追加し、値を true に設定する必要もあります。
<jspAttributes xmi:id="JSPAttribute_1" name="evalquotedandescapedexpression" value="true"/>

<?xml version="1.0" encoding="UTF-8"?>
<web-ext
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
version="1.0">
<jsp-attribute name="evalquotedandescapedexpression" value="true" />
<reload-interval value="3"/>
<auto-encode-requests value="true"/>
<auto-encode-responses value="true"/>
<enable-directory-browsing value="true"/>
<enable-file-serving value="true"/>
<pre-compile-jsps value="true"/>
<enable-reloading value="true"/>
<enable-serving-servlets-by-class-name value="true" />
</web-ext>


ただし、Java EE 5 以降のモジュールが、Java EE 5 より前のファイルを含み .xmi ファイル名拡張子を使用する アプリケーション内に存在することは可能です。
ibm-webservices-ext.xmi、ibm-webservices-bnd.xmi、ibm-webservicesclient-bnd.xmi、ibm-webservicesclient-ext.xmi、 および ibm-portlet-ext.xmi ファイルは、引き続き .xmi ファイル拡張子 を使用します。
sptcfgcom.ibm.wsspi.jsp.modifyPageContextVariable
コンパイルされたタグ・ファイルの変換フェーズ中に、JSP コンテナーは、PageContext オブジェクトに対して pageContext 変数を暗黙的に使用します。タグ・ファイル内で pageContext 変数を暗黙変数名として使用することは、JSP 仕様に準拠した操作ではありません。
タグ・ファイル内のローカル pageContext 変数を使用するアプリケーションでコンパイル・エラーが発生した場合は、com.ibm.wsspi.jsp.modifyPageContextVariable カスタム・プロパティーを true に設定し、タグ・ファイルに対して生成された Java コード内で pageContext 変数名を使用しないようにしてください。
- 名前
- com.ibm.wsspi.jsp.modifyPageContextVariable
- 値
- ブール
com.ibm.wsspi.jsp.recompilejsponrestart
このプロパティーは、実行時にコンパイルされた JSP ファイルが、 アプリケーションが再始動するたびに再コンパイルされるようにします。このプロパティーは、 基礎となる JSF 実装を切り替える場合に役立ちます。このプロパティーは、 開発環境での使用に適しています。
- 名前
- com.ibm.wsspi.jsp.recompilejsponrestart
- 値
- ブール
com.ibm.wsspi.jsp.usecdatatrim
このカスタム・プロパティーを使用して、バージョン 5.1 アプリケーションのマイグレーションを容易にします。
JSP ファイルの別個の行にネスト・タグが含まれている場合は、JSP ファイルのそれらのセクションに対して生成される Java コードに余分な行が生じます。CDATA セクションを作成する前にテキストがトリムされないため、生成される Java コードに余分な行が追加されます。
二重引用符 (") を使用してすべての行を単一行に追加する場合、またはこのプロパティーを使用して、CDATA セクションを作成する前のテキストのトリミングを使用可能にした場合は、余分な行を削除できます。CDATA セクションを作成する前にテキストをトリミングすると、生成される Java コードで余分な空白が削除されます。
このプロパティーを Web コンテナー設定に追加し、true に設定すると、サーバーのすべてのアプリケーションでこの機能が使用可能になります。特定のアプリケーションでこの機能を使用可能にする場合は、その特定のアプリケーションの拡張ファイルで JSPAttribute、useCDataTrim を指定します。
- 名前
- com.ibm.wsspi.jsp.usecdatatrim
- 値
- ブール
com.ibm.wsspi.jsp.usescriptvardupinit
同じタグ変数が (その変数にページの有効範囲があっても) If-Else 条件で複数回宣言されることを想定した、JSP ファイル用に生成されたコード。 com.ibm.wsspi.jsp.usescriptvardupinit カスタム・プロパティーは、特定のサーバーにデプロイされたすべてのアプリケーションに対してこのフィーチャーを使用可能にします。 互換フィーチャーが特定のアプリケーションにのみ必要とされる場合は、useScriptVarDupInit JSP 属性を使用可能にしてください。 これらのオプションが両方設定されている場合は、JSP 属性が Web コンテナーのカスタム・プロパティーよりも優先されます。
- 名前
- com.ibm.wsspi.jsp.usescriptvardupinit
- 値
- ブール
com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude

- 名前
- com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
- 値
- false
com.ibm.wsspi.jsp.usestringcast
このカスタム・プロパティーを使用して、バージョン 5.1 アプリケーションのマイグレーションを容易にします。
JSP ファイルに生成される Java ソースは、request.getAttribute メソッドの呼び出し時の String 型の戻りの型に「暗黙的」キャストを追加しません。JSP ファイルに、String に評価されない相対パスを持つリソースが含まれる場合は、インクルードはリソースの相対パスとして String のみを取るため、インクルードが失敗します。この動作は、バージョン 5.1 の動作とは異なります。
request.getAttribute メソッドが含まれたバージョン 5.1 アプリケーションをマイグレーションする場合は、このプロパティーを Web コンテナー設定に追加し、true に設定できます。このプロパティーを true に設定すると、JSP コンパイラーは、インクルード前にリソースの相対パスに「String キャスト」を明示的に追加します。
このプロパティーを Web コンテナー設定に追加し、true に設定すると、サーバーのすべてのアプリケーションでこの機能が使用可能になります。この機能を使用可能にする場合は、その特定のアプリケーションの拡張ファイルで useStringCast JSPAtrribute を指定します。
- 名前
- com.ibm.wsspi.jsp.usestringcast
- 値
- ブール