WebSphere Application Server v5.1 transtypait automatiquement le retour de request.getAttribute("string") en String. Dans la version 6, ce n'est plus le cas et les données renvoyées représentent une instance de java.lang.Object, et non de java.lang.String. La règle détecte l'entrée dans les fichiers JSP si request.getAttribute() fait partie d'une affectation ou d'une déclaration de variable.
Exemples d'entrées non marquées
Déclaration de variable :
<% String myAtt = request.getAttribute("myAtt");%>
Affectation de variable :
<% String myAtt;
myAtt = request.getAttribute("myAtt");%>
Affectation de variable non objet sans opérateur de transtypage
<% Date d= request.getAttribute("myDate");%>
Le code suivant n'est pas marqué :
Code déjà transtypé :
<% String myAtt= (String) request.getAttribute("myAtt");%>
Code ne faisant pas partie d'une affectation ou d'une déclaration de variable
<% request.getAttribute("myDate");%>
Pour conserver le comportement de la version 5.1, vous pouvez utiliser la propriété personnalisée com.ibm.wsspi.jsp.useStringCast. Pour plus de détails sur l'utilisation des propriétés, voir :
Propriétés personnalisées de conteneur Web spécifiques de JavaServer Pages