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

Serwer WebSphere Application Server w wersji 5.1 automatycznie rzutował zwrócenie metody request.getAttribute("string") na String. W wersji 6 tak się nie dzieje. Zwracane dane są instancją java.lang.Object, a nie 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 nadal było stosowane zachowanie obowiązujące w wersji 5.1, można użyć właściwości niestandardowej com.ibm.wsspi.jsp.useStringCast. Więcej informacji na temat użycia tej właściwości zawiera następująca sekcja:

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