Essa regra sinaliza diretivas taglib do JSP que associa o mesmo valor de atributo de prefix com valores de atributo de uri diferentes. A redefinição será sinalizada, se ocorrer dentro do mesmo arquivo JSP ou se ocorrer dentro de um fragmento ou arquivo JSP incluído estaticamente.
De acordo com especificações da JSP 2.1, um prefixo não deve ser redefinido dentro do escopo atual da JSP. Se um prefixo da biblioteca de tags já estiver definido com uma URI diferente dentro de um JSP ou em um JSP ou fragmento incluído, o produto deverá criar um erro de conversão. O JSP 2.1 era novo no WebSphere Application Server V7. A validação é nova para essa liberação e não foi imposta em versões anteriores.
A solução de melhores práticas é alterar a diretiva taglib para usar prefixos exclusivos e atualizar o arquivo JSP afetado para usar o novo prefixo.
Se você não desejar alterar os arquivos JSP, poderá reverter esse comportamento do módulo da web para esse de versões anteriores configurando o atributo JSP a seguir no arquivo de extensão da web da IBM (ibm-web-ext.xml):
<jsp-attribute name="allowTaglibPrefixRedefinition" value="true"/>
Como alternativa, é possível configurar uma propriedade customizada de contêiner da web com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true para afetar todos os aplicativos no servidor, em vez de apenas o módulo da web específico que a primeira opção oferece.
No Exemplo 1, a segunda entrada será sinalizada porque ela é uma redefinição de fmt. Para este exemplo, a ferramenta registrará a mensagem de aviso a seguir no log de erro do Eclipse:
!MESSAGE CWMIG1125W: O arquivo WebContent/Page1.jsp tentou redefinir o valor da URI para o prefixo fmt de /WEB-INF/fmt.tld para /WEB-INF/otherLib.tld.
A regra Não
redefina um prefixo taglib usando um URI diferente
encontrou
o problema ao analisar o arquivo /MyJspProject/WebContent/Page1.jsp
no projeto MyJspProject.
em que myPage.jspf contém a linha
No Exemplo 2, a linha taglib em myPage.jspf será sinalizada. Neste exemplo, você verá o aviso a seguir registrado no log de erro do Eclipse:
!MESSAGE CWMIG1124W: O arquivo WebContent/myPage.jspf tentou redefinir o valor da URI para o prefixo fmt de /WEB-INF/fmt.tld para /WEB-INF/otherLib.tld no escopo do arquivo WebContent/Page2.jsp.
A regra Não redefina um prefixo taglib
usando um URI diferente
encontrou o problema ao
analisar o arquivo /MyJspProject/WebContent/Page2.jsp no
projeto MyJspProject.
Usar as informações do log de erro para ajudar a compreender os arquivos conflitantes. Um arquivo JSP incluído pode causar redefinições com diversos arquivos JSP de base em diferentes escopos. Nesse caso, um arquivo pode ser sinalizado diversas vezes, em que uma única correção limpará diversos problemas. É possível que o mesmo arquivo incluído possa redefinir a URI de biblioteca de tags de maneira diferente, dependendo de qual arquivo JSP o inclui. Por esse motivo, cada erro é listado.
Para abrir o log de erro do Eclipse, clique em Janela > Mostrar visualização > Outro > Log de erro.
Para obter informações adicionais, consulte: