[Java] [JSP] errore in lettura XML (Content is not allowed in prolog.)

Discussione in 'Java' iniziata da codesurfer, 4 Marzo 2010.

  1. codesurfer

    codesurfer Nuovo Utente

    Registrato:
    13 Febbraio 2008
    Messaggi:
    16
    Mi Piace Ricevuti:
    3
    Punteggio:
    0
    Ciao a tutti,
    premettendo la niubbagine sull'argomento, ho un problema con il caricamento di un documento XML in JSP.
    Il codice l'ho preso da un esempio banale riportato in tantissimi forum/libri/documenti quindi non capisco perchè non funzioni.
    Il file JSP è:
    Codice:
    <%@ page contentType="text/html" %>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
    
    <html>
    	<body>
    		<c:import url="books.xml" var="url" />
    		<x:parse xml="${url}" var="doc" />
    		<x:forEach var="n" select="$doc/books/book"> 
    			<x:out select="$n/title"  />
    			<br>  
    			<x:out select="$n/author"  />  
    			<br>
    			<br>  
    		</x:forEach>
    	</body
    </html>
    
    Mentre l'XML è:
    Codice:
    <?xml version="1.0" ?>
    <books>            
    	<book> 
    		<title>cobol</title> 
    		<author>roy</author> 
    	</book> 
       	<book> 
    		<title>java</title> 
    		<author>herbert</author> 
    	</book> 
    </books>
    
    In esecuzione l'errore che ricevo è il seguente:

    exception

    org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:527)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root cause

    javax.servlet.ServletException: javax.servlet.jsp.JspException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.index2_jsp._jspService(index2_jsp.java:91)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root cause

    org.xml.sax.SAXParseException: Content is not allowed in prolog.
    com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
    com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
    org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseInputSource(Unknown Source)
    org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseInputSourceWithFilter(Unknown Source)
    org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseReaderWithFilter(Unknown Source)
    org.apache.taglibs.standard.tag.common.xml.ParseSupport.parseStringWithFilter(Unknown Source)
    org.apache.taglibs.standard.tag.common.xml.ParseSupport.doEndTag(Unknown Source)
    org.apache.jsp.index2_jsp._jspx_meth_x_005fparse_005f0(index2_jsp.java:140)
    org.apache.jsp.index2_jsp._jspService(index2_jsp.java:77)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717

    Qualcuno sa darmi una soluzione?
    Grazie in anticipo :D
     
    A ottofonsuppost piace questo elemento.
  2. romeo_sheshi

    romeo_sheshi Nuovo Utente

    Registrato:
    4 Marzo 2010
    Messaggi:
    2
    Mi Piace Ricevuti:
    2
    Punteggio:
    0
    controlla il file xml ti conviene creartene uno nuovo sicuramente c'è qualche carattere invisibile all'inizio.
     
    A ottofonsuppost piace questo elemento.
  3. codesurfer

    codesurfer Nuovo Utente

    Registrato:
    13 Febbraio 2008
    Messaggi:
    16
    Mi Piace Ricevuti:
    3
    Punteggio:
    0
    Guarda l'ho creato e ricreato mille volte con tutti gli editor possibili immaginabili. Ho anche provato a inserirlo nel JSP con c:set invece che importarlo ma niente. L'unica cosa che ho notato è che se utilizzo http://java.sun.com/jsp/jstl/xml l'errore è quello che ho riportato nel post di apertura mentre se uso http://java.sun.com/jstl/xml l'errore diventa
    Codice:
    org.apache.jasper.JasperException: Exception in JSP: /index.jsp:22
    
    19: <html>
    20: 	<head></head>
    21: 	<body>
    22: 	<x:forEach select="$doc/books/book" var="n">
    23: 		<x:out select="$n/title" />
    24: 	</x:forEach>
    Il che se ho letto bene in giro significa che l'XPath non trova nessun valore. L'interrogativo rimane sul content not allowed.

    Le configurazioni che ho provato con lo stesso risultato sono tomcat5+Red Hat EL+java-1.6.0-openjdk e tomcat6.0.24+Win7+JDK 6.18+JRE 6.18
     
    Ultima modifica: 5 Marzo 2010
    A ottofonsuppost piace questo elemento.
  4. romeo_sheshi

    romeo_sheshi Nuovo Utente

    Registrato:
    4 Marzo 2010
    Messaggi:
    2
    Mi Piace Ricevuti:
    2
    Punteggio:
    0
    Io ho provato il tuo codice e funziona tutto non mi da il tuo errore. Il tuo errore me la dato quando non trova il file xml. Il file xml sta nella stessa cartella della jsp ? controlla anche che il nome del xml scritto nella jsp sia corretto
     
    A ottofonsuppost piace questo elemento.
  5. codesurfer

    codesurfer Nuovo Utente

    Registrato:
    13 Febbraio 2008
    Messaggi:
    16
    Mi Piace Ricevuti:
    3
    Punteggio:
    0
    Risolto, mi mancavano i jar di xalan :dipser::dipser::dipser::dipser::dipser:
    Grazie per il supporto :D
     
    A ottofonsuppost piace questo elemento.
Sto caricando...

Condividi questa Pagina