Ez a szabály azokat a JSP taglib utasításokat jelzi, amelyek
azonos prefix attribútumértéket társítanak eltérő uri
attribútumértékekhez. Az átdefiniálás akkor lesz megjelölve, ha ugyanazon a JSP
fájlon belül történik, vagy ha statikusan tartalmazott JSP fájlon vagy
kódrészen belül kerül rá sor.
A JSP 2.1 előírás szerint az előtagot nem szabad átdefiniálni a JSP aktuális hatókörén belül. Ha egy címkekönyvtár előtag már meghatározásra került egy eltérő URI címmel a JSP fájlban vagy egy tartalmazott JSP fájlban vagy kódrészben, akkor a terméknek fordítási hibát kell előállítania. A JSP 2.1 új volt a WebSphere Application Server 7-es változatában. Az érvényesítés ennek a kiadásnak az újdonsága és a korábbi változatokban nem került betartatásra.
A legjobb megoldás a taglib utasítás módosítása, hogy egyedi
előtagokat használjon és az érintett JSP fájl frissítése, hogy az új előtagot
használja.
Ha nem kívánja módosítani a JSP fájlokat, akkor visszaállíthatja a világhálós modul
ezen viselkedését a korábbi változatok viselkedésére; ehhez a következő JSP
attribútumot kell beállítania az IBM világhálós kiterjesztésfájlban
(ibm-web-ext.xml).
<jsp-attribute name="allowTaglibPrefixRedefinition"
value="true"/>
Alternatív megoldásként, beállíthatja a világhálós tároló egyéni
com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true
tulajdonságát, hogy az adott kiszolgálón minden alkalmazást érintsen, nem csak
az adott világhálós modult, amit az első lehetőség kínál.
Az 1. példában a rendszer jelzővel látja el a második bejegyzést, mivel az
az fmt átdefiniálása. A példában az eszköz a következő
figyelmeztető üzenetnaplót naplózza az Eclipse hibanaplóba:
!MESSAGE CWMIG1125W: The WebContent/Page1.jsp file
attempted to redefine the URI value for the fmt prefix from
/WEB-INF/fmt.tld to /WEB-INF/otherLib.tld.
The Do not
redefine a taglib prefix using a different URI
rule encountered the
problem while analyzing the /MyJspProject/WebContent/Page1.jsp file
in the MyJspProject project.
ahol a myPage.jspf a következő sort tartalmazza:
A 2. példában a rendszer jelzővel látja el a taglib sorát a
myPage.jspf fájlban. Ebben a példában a következő figyelmeztetés kerül az
Eclipse hibanaplóba:
!MESSAGE CWMIG1124W: The WebContent/myPage.jspf file
attempted to redefine the URI value for the fmt prefix from
/WEB-INF/fmt.tld to /WEB-INF/otherLib.tld in the scope of the
WebContent/Page2.jsp file.
The Do not redefine a taglib
prefix using a different URI
rule encountered the problem while
analyzing the /MyJspProject/WebContent/Page2.jsp file in the
MyJspProject project.
A hibanaplóban található információk alapján derítse ki, mely fájlok ütköznek. A tartalmazott JSP fájl több alap JSP fájllal okozhat átdefiniálást különböző hatókörökben. Ebben az esetben a fájl többször megjelölésre kerülhet, amikor egyetlen javítás több problémát javít. Lehetséges, hogy ugyanaz a tartalmazott fájl a címketár URI címét eltérő definiálja át, attól függően, hogy melyik JSP fájl tartalmazza. Ezért minden hiba felsorolásra kerül.
Az Eclipse hibanapló megnyitásához kattintson a Window > Show view
> Other > Error log lehetőségre.
További információkért tekintse meg az alábbi leírásokat: