Al enviar datos XML a través de HTTP, es necesario utilizar JSP para manejar documentos XML entrantes y salientes, como documentos RSS. Como documento XML, es solo un montón de texto. Crear un documento XML usando JSP no es más difícil que crear un documento HTML.
Enviar contenido XML utilizando JSP es lo mismo que enviar contenido HTML. La única diferencia es que necesita establecer el atributo de contexto de la página en texto/xml. Para configurar el atributo de contexto, use el comando <%@page %>, así:
<%@ página contentType="text/xml" %>
El siguiente ejemplo envía contenido XML al navegador:
<%@ página contentType="text/xml" %><libros> <libro> <nombre>Historia de Padam</nombre> <autor>ZARA</autor> <precio>100</precio> </libro></ libros>
Utilice un navegador diferente para acceder a este ejemplo y ver el árbol de documentos que representa el ejemplo.
Antes de utilizar JSP para procesar XML, debe colocar los dos archivos de biblioteca relacionados con XML y XPath en el directorio <Directorio de instalación de Tomcat>lib:
XercesImpl.jar: Descargar aquí http://www.apache.org/dist/xerces/j/
xalan.jar: Descargar aquí http://xml.apache.org/xalan-j/index.html
Archivo libros.xml:
<libros><libro> <nombre>Historia de Padam</nombre> <autor>ZARA</autor> <precio>100</precio></libro><libro> <nombre>Gran Misterio</nombre> <autor> NUHA</author> <price>2000</price></book></books>
Archivo principal.jsp:
<%@
idioma de la página
=
"Java"
tipo de contenido
=
"texto/html; juego de caracteres=UTF-8"
codificación de página
=
"UTF-8"
%>
<%@
prefijo taglib
=
"do"
uri
=
"http://java.sun.com/jsp/jstl/core"
%>
<%@
prefijo taglib
=
"incógnita"
uri
=
"http://java.sun.com/jsp/jstl/xml"
%>
<html>
<cabeza>
<título>
JSTL x: analizar Tags
</título>
</cabeza>
<cuerpo>
<h3>
Información de libros:
</h3>
<c:importar
var
=
"informacióndellibro"
URL
=
"http://localhost:8080/books.xml"
/>
<x: analizar
XML
=
"${libroInfo}"
var
=
"producción"
/>
<b>
El título del primer libro es
</b>
:
<x:fuera
seleccionar
=
"$salida/libros/libro[1]/nombre"
/>
<br>
<b>
El precio del segundo libro.
</b>
:
<x:fuera
seleccionar
=
"$salida/libros/libro[2]/precio"
/>
</cuerpo>
</html>
Visite http://localhost:8080/main.jsp y los resultados son los siguientes:
INFORMACIÓN DE LIBROS: El título del primer libro es: Padam History El precio del segundo libro: 2000
Este es el archivo style.xsl de la hoja de estilos XSLT:
<?xml versión="1.0"?><xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" versión="1.0"> <xsl:output método="html" sangría="yes"/> <xsl:template match="/"> <html> <body> <xsl:apply-templates/> </body> </html></xsl:template> <xsl:template match="libros"> <table> <xsl:for-each select="libro"> <tr> <td> <i><xsl:valor-de select="nombre"/></i> </td> <td> <xsl:valor-de select="autor"/> </td> <td> <xsl:valor-de select="precio"/ > </td> </tr> </xsl:for-each> </table></xsl:template></xsl:stylesheet>
Este es el archivo main.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="x" uri="http://java.sun. com/jsp/jstl/xml" %> <html><head> <title>Etiquetas JSTL x:transform</title></head><body><h3>Información de libros:</h3><c:set var="xmltext"> <libros> <libro> <nombre>Historia de Padam</nombre> <autor>ZARA</autor> <precio>100</precio> </libro> <libro> <nombre>Gran Misterio< /nombre> <autor>NUHA</autor> <precio>2000</precio> </libro> </libros></c:set> <c:import url="http://localhost:8080/style. xsl" var="xslt"/>><x:transform xml="${xmltext}" xslt="${xslt}"/> </body></html>
Los resultados de ejecución son los siguientes:
Para obtener más información sobre el uso de JSTL para procesar XML, consulte la biblioteca de etiquetas estándar JSP.