2 votes

Comment écrire un JSP trivial qui renvoie simplement une page XML statique ?

J'essaie d'écrire un JSP trivial qui renvoie le contenu d'un fichier xml statique. J'ai besoin de l'exécuter dans tomcat. Je ne sais pas si c'est une bonne idée, mais je ne sais pas si c'est une bonne idée, mais c'est une bonne idée. Je ne sais pas s'il est possible de trouver une démo pour ce type d'application. J'essaie d'apprendre quels sont les éléments minimums dont j'ai besoin pour créer l'application web et l'installer dans tomcat.

Mucho appreciato,

pawpaw17

10voto

Will Hartung Points 57465

À la suite de cette document est toujours un bon début.

Mais il se peut que vous ayez des problèmes.

Tout d'abord, il est tout à fait trivial de faire quelque chose comme :

http://example.com/app/mydynamicxml.jsp

qui renvoie un blob XML. Il suffit de coller le XML dans ce fichier.

Mais il n'aura pas de type de contenu XML. Vous pouvez y remédier en ajoutant des directives à la JSP :

<%@page contentType="application/xml" %>

Cependant, cela entraîne PLUS de problèmes.

Plus précisément, un fichier XML NE PEUT PAS commencer par un espace blanc. Il DOIT commencer par < ?

Cette directive insérera très probablement une ligne vide dans votre fichier XML.

Donc, ce que vous voulez vraiment, c'est.. :

<%@page contentType="application/xml" %><?xml version...

Enfin, il existe une version JSPX de JSP, qui utilise une syntaxe XML et évite tous ces problèmes d'espace blanc. Il existe également une directive pour Tomcat qui permet d'éliminer le problème des espaces blancs. Mais, dès le départ, c'est la solution la plus rapide et la plus "évidente" à adopter.

1voto

Piyush Points 6137

L'essentiel est de spécifier le type de contenu en tant que <%@ page contentType="text/xml" %>

<%-- Set the content type 
--%><%@ page contentType="text/xml" %><%-- 
--%><?xml version="1.0" encoding="UTF-8"?>
<root><entry key="key1" value="value1" /><entry key="key2" /></root>

Consultez l'article sur Site du soleil

-1voto

Paul Scott Points 11

J'ai essayé d'ajouter une directive de page trimDirectiveWhitespaces="true", mais elle n'était pas prise en charge par mon serveur.

La solution consistait simplement à supprimer les nouvelles lignes après les directives de page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X