Ellenőrizze a request.getAttribute() metódus viselkedésváltozását

A WebSphere Application Server 5.1 változata automatikusan hajtotta végre a request.getAttribute("string") metódus visszatérési értékének String típusra való típuskényszerítését. A 6-os változatban ez már nem így történik: a visszaadott adatok a java.lang.Object, nem pedig a java.lang.String osztály egy-egy példányát jelentik. A szabály ezt a bejegyzést ismeri fel a JSP fájlokban, ha a request.getAttribute() metódus egy értékadó utasítás vagy változódeklaráció része.

Példák a rendszer által jelzővel ellátott bejegyzésekre

Változódeklaráció:
<% String myAtt = request.getAttribute("myAtt");%>

Értékadó utasításban szereplő változó:
<% String myAtt;
   myAtt = request.getAttribute("myAtt");%>


Értékadó utasításban szereplő, nem objektum típusú változó típuskényszerítési operátor nélkül:
<% Date d= request.getAttribute("myDate");%>

A következő kódrészt a rendszer nem látja el jelzővel:

Típuskényszerítésen már átesett kód:
<% String myAtt= (String) request.getAttribute("myAtt");%>

Értékadó utasítás vagy változódeklaráció részét nem képező kód:
<% request.getAttribute("myDate");%>

Az 5.1 változatra jellemző viselkedés megőrzéséhez a com.ibm.wsspi.jsp.useStringCast egyéni tulajdonságot használhatja fel. A tulajdonság használatával kapcsolatos további részletekért tekintse meg a következő leírást:

JavaServer Pages rendszerre jellemző webtároló egyéni tulajdonságai