request.getAttribute() メソッドでの振る舞いの変更を確認する

WebSphere Application Server v5.1 は、以下のリターンを自動的にキャストしました。 request.getAttribute("string") から String 。 バージョン 6 では、これはもはや当てはまりません。戻されるデータは、 java.lang.Stringではなく、 java.lang.Objectのインスタンスです。 規則は、request.getAttribute() が代入の一部または変数宣言の一部である場合に、JSP ファイルのエントリーを検出します。

フラグが立てられるエントリーの例は次のとおりです。

変数宣言
<% String myAtt = request.getAttribute("myAtt");%>

変数代入
<% String myAtt;
   myAtt = request.getAttribute("myAtt");%>


キャスト演算子を使用しない非オブジェクト変数の代入
<% Date d= request.getAttribute("myDate");%>

次のコードにはフラグが立ちません。

既にキャストされたコード
<% String myAtt= (String) request.getAttribute("myAtt");%>

代入または変数宣言の一部ではないコード
<% request.getAttribute("myDate");%>

V5.1 の動作を維持するには、次のようにします。 カスタムプロパティ com.ibm.wsspi.jsp.useStringCast . プロパティの使用方法の詳細については、こちらをご覧ください:

JavaServer Pages 固有の Web コンテナーのカスタム・プロパティー