WebSphere Application Server 5.1 版已自動將 request.getAttribute("string") 傳回的資料強制轉型為字串。 在第 6 版中,不再存在這種情況,傳回的資料是 java.lang.Object 的實例,而不是 java.lang.String 的實例。 如果 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");%>
如果要保留 5.1 版中的行為,可以使用自訂內容 com.ibm.wsspi.jsp.useStringCast。 如需內容用法的相關詳細資料,請參閱:
JavaServer Pages 特有的 Web 儲存器自訂內容