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 コンテナーのカスタム・プロパティー