Проверка поведения метода request.getAttribute()

В WebSphere Application Server 5.1 возвращаемое значение метода request.getAttribute("string") автоматически преобразовывалось в String. В версии 6 такое больше не происходит, и возвращаемое значение имеет тип java.lang.Object, а не java.lang.String. Правило помечает запись в файлах JSP, если request.getAttribute() - часть присваивания или объявления переменной.

Примеры помечаемых записей:

Объявление переменной:
<% String myAtt = request.getAttribute("myAtt");%>

Присваивание переменной:
<% String myAtt;
   myAtt = request.getAttribute("myAtt");%>


Присваивание переменной не типа Object без оператора преобразования типа:
<% Date d= request.getAttribute("myDate");%>

Следующий код не помечается:

Преобразование типа уже есть:
<% String myAtt= (String) request.getAttribute("myAtt");%>

Код не является частью присваивания или объявления переменной:
<% request.getAttribute("myDate");%>

Для возврата поведения версии 5.1 можно воспользоваться пользовательским свойством com.ibm.wsspi.jsp.useStringCast. Дополнительная информация о применении свойства:

Пользовательские свойства веб-контейнера, предназначенного для JavaServer Pages