Domanda

Tutti,   Sto lavorando su una webapp Java che si distribuisce nel server resina web app. Ho fatto un po 'di analisi XML per una nuova parte della domanda, e si rese conto che la nostra applicazione è stata usando classi resina per fare il parsing. Volevo uscire da quella e l'uso di qualcosa di più standard per una serie di motivi, quindi ho impostato queste proprietà di sistema nel mio file di configurazione resina (e aggiunto il vaso xerces al mio percorso di classe):

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

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

E, ora sto ricevendo errori di compilazione JSP su più pagine (immagino costruita nel parser è stato più indulgente di resina). L'errore si legge:

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

E, il 'display: colonna' tag su alcune pagine effettivamente contiene markup nell'attributo 'titolo'. Ecco un esempio:

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

Questo è un po 'di codice JSP brutto, lo so, ma è anche il codice che è già in produzione, quindi sono restii a cambiare.

Qualcuno sa di un modo che io possa impostare xerces in modo che permetterà la JSP per compilare come è?

È stato utile?

Soluzione

Questo è il codice JSP certamente brutto.

Se stai usando un parser XML su di esso, hai un problema. I valori degli attributi in XML valido non possono contenere il carattere '<', come Xerces ti sta dicendo.

E 'dubbio si può dire Xerces ad accettare questo, ma fissa il XML sarebbe una migliore idea che parlare un parser XML ad accettare XML non corretta in ogni caso.

Probabilmente si vuole far cadere di nuovo a utilizzare le classi in resina fino a quando è possibile alimentare Xerces corretta XML, o configurare resina di non utilizzare un parser XML come parte della sua compilazione JSP -. Vedi commenti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top