Sprawdzenie, czy nie zmieniło się zachowanie metody request.getAttribute()

WebSphere Application Server v5.1 automatycznie rzutował kod powrotu request.getAttribute("string") do String . W wersji 6 nie jest to już przypadek, a zwracane dane są instancją klasy java.lang.Object, a nie klasy java.lang.String. Ta reguła wykrywa pozycję w plikach JSP, jeśli metoda request.getAttribute() jest częścią przypisania lub jest częścią deklaracji zmiennej.

Przykłady pozycji, które zostaną oznaczone flagą

Deklaracja zmiennej:
<% String myAtt = request.getAttribute("myAtt");%>

Przypisanie zmiennej:
<% String myAtt;
   myAtt = request.getAttribute("myAtt");%>


Przypisanie zmiennej niebędącej obiektem bez operatora cast:
<% Date d= request.getAttribute("myDate");%>

Następujący kod nie zostanie oznaczony flagą:

Kod, który jest już rzutowany:
<% String myAtt= (String) request.getAttribute("myAtt");%>

Kod, który nie jest częścią przypisania ani deklaracji zmiennej:
<% request.getAttribute("myDate");%>

Aby zachować zachowanie wersji V5.1, można użyć właściwości niestandardowej. com.ibm.wsspi.jsp.useStringCast . Więcej informacji na temat użycia właściwości można znaleźć w następujących sekcjach:

JavaServer Pages specific web container custom properties (Właściwości niestandardowe kontenera WWW specyficzne dla stron JavaServer Pages)