檢查 request.getAttribute() 方法上的行為變更

WebSphere Application Server v5.1 會自動強制轉型傳回 request.getAttribute("string") 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");%>

若要保留 V5.1的行為,您可以使用自訂內容 com.ibm.wsspi.jsp.useStringCast -我知道 如需內容用法的詳細資料,請參閱:

JavaServer Pages 特有的 Web 儲存器自訂內容