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)