Pergunta

Tudo, estou trabalhando em um Java WebApp que implantamos no servidor de aplicativos da Web Resin. Eu tenho feito alguns XML analisando uma nova parte do aplicativo e percebi que nosso aplicativo estava usando Aulas de resina Para fazer a análise. Eu queria me afastar disso e usar algo mais padrão por vários motivos, então defino essas propriedades do sistema no meu arquivo de configuração de resina (e adicionei o jar Xerces ao meu caminho de classe):

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

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

E agora estou recebendo erros de compilação JSP em várias páginas (acho que a resina embutida no analisador era mais branda). O erro diz:

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

E a tag 'Display: Column' em algumas páginas realmente contém marcação no atributo 'título'. Aqui está um exemplo:

<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> " >

Esse é um código JSP feio, eu sei, mas também é um código que já está em produção, por isso hesito em alterá -lo.

Alguém sabe de uma maneira que eu posso definir Xerces para que ele permita que o JSP seja compilado como está?

Foi útil?

Solução

Esse é certamente o código JSP feio.

Se você estiver usando um analisador XML, você tem um problema. Os valores de atributo no XML válido não podem conter o caractere '<', pois o Xerces está lhe dizendo.

É duvidoso que você possa dizer a Xerces para aceitar isso, mas consertar o XML seria uma idéia melhor do que falar um analisador XML para aceitar o XML incorreto de qualquer maneira.

Você provavelmente deseja voltar ao uso das classes de resina até que você possa alimentar o XML XML adequado ou configurar a resina para não usar um analisador XML como parte de sua compilação JSP - consulte os comentários.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top