Question

Tous,   Je travaille sur une webapp java que nous déployons dans le serveur d'applications Web de résine. Je fais une analyse XML pour une nouvelle partie de l'application, et réalisé que notre application utilisait cours de résine pour faire l'analyse syntaxique. Je voulais sortir de cela et utiliser quelque chose de plus standard pour un certain nombre de raisons, donc je définir ces propriétés du système dans mon fichier de configuration de résine (et a ajouté le pot de xerces à mon classpath):

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

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

Et, maintenant, je reçois des erreurs de compilation JSP sur plusieurs pages (je suppose construite de résine dans l'analyseur a été plus clémente). L'erreur se lit comme suit:

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

Et, le « display 'colonne » étiquette sur certaines pages ne contient en effet balisage dans l'attribut « title ». Voici un exemple:

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

C'est un code JSP laid, je sais, mais il est aussi le code qui est déjà en production, donc je suis hésité à changer.

Quelqu'un sait-il d'une manière que je peux définir xerces afin qu'il permettra à la JSP de compiler tout comme?

Était-ce utile?

La solution

C'est certainement le code JSP laid.

Si vous utilisez un analyseur XML sur, vous avez un problème. Les valeurs d'attribut en XML valide ne peut pas contenir le caractère « < », comme Xerces vous dit.

Il est douteux que vous pouvez dire Xerces d'accepter, mais la fixation du XML serait une meilleure idée que de parler d'un analyseur XML en acceptant XML incorrect de toute façon.

Vous voulez probablement retomber à l'aide des classes de résine jusqu'à ce que vous pouvez nourrir Xerces XML approprié ou configurer la résine pour ne pas utiliser un analyseur XML dans le cadre de sa compilation JSP -. Voir les commentaires

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top