Toto pravidlo označí direktivy JSP taglib přidružené ke stejné hodnotě atributu prefix pomocí různých hodnot atributu uri. Nová definice bude označena, pokud k ní dojde v rámci stejného souboru JSP nebo pokud se vyskytne ve staticky zahrnutém souboru nebo fragmentu JSP.
V souladu se specifikacemi JSP 2.1 by předpona neměla být znovu definována v rámci aktuálního rozsahu JSP. Je-li předpona knihovny značek již definována s jiným identifikátorem URI v rámci JSP nebo v rámci zahrnuté stránky JSP nebo fragmentu, musí produkt vytvořit chybu překladu. Verze JSP 2.1 byla nová na serveru WebSphere Application Server V7. Ověření je nové pro dané vydání a v předchozích verzích nebylo vynuceno.
Řešením doporučených postupů je změnit direktivu taglib tak, aby používala jedinečné předpony a aby aktualizovala ovlivněný soubor JSP, aby používal novou předponu.
Nechcete-li změnit soubory JSP, můžete toto chování pro webový modul změnit na předchozí verze nastavením následujícího atributu JSP v souboru webového rozšíření IBM (ibm-web-ext.xml):
<jsp-attribute name="allowTaglibPrefixRedefinition"
value="true"/>
Volitelně můžete nastavit přizpůsobenou vlastnost webového kontejneru com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true pro ovlivnění všech aplikací na serveru, nikoli jen na konkrétním webovém modulu nabízeném první volbou.
V příkladu 1 bude druhá položka označena, protože se jedná o redefinice příkazu fmt. V tomto příkladu bude nástroj protokolovat následující varovnou zprávu v protokolu chyb Eclipse:
!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.
Kde myPage.jspf obsahuje řádek
V příkladu 2 bude označen řádek taglib v myPage.jspf. V tomto příkladu uvidíte následující varování protokolované v protokolu chyb Eclipse:
!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.
Informace z protokolu chyb vám pomohou zjistit konfliktní soubory. Obsažený soubor JSP může způsobit nové definice s více základními soubory JSP v různých rozsazích. V tomto případě může být soubor označen vícekrát, kdy jediná oprava vyčistí více problémů. Je možné, že stejný obsažený soubor by mohl předefinovat identifikátor URI knihovny značek odlišně v závislosti na tom, který soubor JSP jej obsahuje. Z tohoto důvodu je každá chyba uvedena v seznamu.
Chcete-li otevřít protokol chyb, klepněte na volbu Okno > Zobrazit pohled > Další > Protokol chyb.
Další informace viz: