Esta regla marca las directivas taglib de JSP que asocian un mismo
valor del atributo prefix con valores diferentes del atributo
uri. La redefinición se marcará si se produce dentro del mismo archivo JSP o dentro de un
archivo o fragmento JSP incluido estáticamente.
De acuerdo con las especificaciones JSP 2.1, no se debe redefinir un prefijo dentro del ámbito actual del JSP. Si ya se ha definido un prefijo de biblioteca de etiquetas con un URI diferente dentro de un JSP o en un archivo o fragmento JSP incluido, el producto debe crear un error de conversión. JSP 2.1 era nuevo en WebSphere Application Server V7. La validación es nueva para ese release y no se aplicó en versiones anteriores.
La solución recomendada es cambiar la directiva taglib para utilizar
prefijos exclusivos y actualizar el archivo JSP afectado para utilizar el nuevo
prefijo.
Si no desea cambiar los archivos JSP, puede invertir este comportamiento para el
módulo web y volver al comportamiento de versiones anteriores definiendo el
siguiente atributo de JSP en el archivo de extensión web de IBM
(ibm-web-ext.xml):
<jsp-attribute name="allowTaglibPrefixRedefinition" value="true"/>
Como alternativa, puede definir la propiedad personalizada de contenedor web
com.ibm.wsspi.jsp.allowtaglibprefixredefinition=true para actuar sobre
todas las aplicaciones del servidor, en lugar de sólo el módulo web como ocurre en la
opción anterior.
En el Ejemplo 1, se marcará la segunda entrada porque es una redefinición de
fmt. Para este ejemplo, la herramienta anotará el mensaje de aviso
siguiente en el registro de errores de Eclipse:
!MESSAGE CWMIG1125W: el archivo WebContent/Page1.jsp ha intentado redefinir el
valor de URI para el prefijo fmt y cambiarlo de /WEB-INF/fmt.tld a /WEB-INF/otherLib.tld.
La regla No redefinir un prefijo taglib utilizando un URI diferente
ha encontrado el
problema al analizar el archivo /MyJspProject/WebContent/Page1.jsp en el proyecto
MyJspProject.
donde myPage.jspf contiene la línea
En el Ejemplo 2, se marcará la línea de taglib contenida en myPage.jspf. Para este ejemplo, se anotará el mensaje de aviso siguiente en el registro de
errores de Eclipse:
!MESSAGE CWMIG1124W: el archivo WebContent/myPage.jspf ha intentado redefinir el
valor de URI para el prefijo fmt y cambiarlo de /WEB-INF/fmt.tld a
/WEB-INF/otherLib.tld en el ámbito del archivo WebContent/Page2.jsp.
La regla No redefinir un prefijo taglib utilizando un URI diferente
ha encontrado el
problema al analizar el archivo /MyJspProject/WebContent/Page2.jsp en el proyecto
MyJspProject.
Utilice la información del registro de errores para determinar los archivos en conflicto. Un archivo JSP incluido puede causar redefiniciones con varios archivos JSP base en ámbitos diferentes. En este caso, un archivo puede ser marcado varias veces y un solo arreglo puede corregir varios problemas. Es posible que un mismo archivo incluido redefina de forma diferente el URI de la biblioteca de etiquetas dependiendo del archivo JSP donde resida. Por este motivo, se lista cada error.
Para abrir el registro de errores de Eclipse, pulse Ventana > Mostrar vista
> Otros > Registro de errores.
Para obtener información adicional, consulte: