Pregunta

Todo,   Estoy trabajando en una aplicación web Java que desplegamos en el servidor de aplicación web de resina. He estado haciendo un poco de análisis XML para una nueva parte de la aplicación, y se dio cuenta de que nuestra aplicación estaba usando clases de resina para hacer el análisis. Quería alejarse de ese uso y algo más estándar para una serie de razones, así que me puse estas propiedades del sistema en mi fichero de configuración de resina (y añadí el frasco xerces a mi ruta de clase):

<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>

<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>

Y, ahora que estoy recibiendo errores de compilación de JSP en varias páginas (supongo que fue construido en el analizador más indulgente de resina). El error dice lo siguiente:

org.xml.sax.SAXParseException: The value of attribute "title" associated with an element type "display:column" must not contain the '<' character.

Y, el 'display: la columna' etiqueta en algunas páginas efectivamente incluye marcado en el atributo 'título'. He aquí un ejemplo:

<display:column scope='col' class=" appealColorBG  selectAllWidth" 
    title="<span class='centerThis'><label for='selectAll'>Select All</label><br />
            <input type='checkbox' name='selectAll' 
            id='selectAll' 
            onClick='selectAllCheckboxes();'/></span> " >

Eso es algo de código JSP feo, lo sé, pero es también el código que ya está en producción, así que estoy indeciso para cambiarlo.

¿Alguien sabe de una manera que yo puedo establecer xerces de manera que permitirá que el JSP para compilar como es?

¿Fue útil?

Solución

Eso es ciertamente feo código JSP.

Si estás usando un analizador XML en él, tienes un problema. Los valores de atributos en XML válido no pueden contener el carácter '<', como Xerces le está diciendo.

Es dudoso que se puede decir Xerces para aceptar esto, pero la fijación del XML sería una mejor idea de hablar un analizador XML para que acepten XML incorrecto de todos modos.

Es posible que desee dejar caer de nuevo a usar las clases de resina hasta que pueda alimentar Xerces XML adecuado o configurar Resina para no utilizar un analizador XML como parte de su compilación de JSP -. Véanse los comentarios

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top