2009-06-09 6 views
1

J'essaie de comprendre comment utiliser le Struts2 XSL ResultType. Je ne peux pas comprendre comment il est censé fonctionner et à part le official documentation, j'ai trouvé peut-être deux articles en ligne qui ont essayé de l'expliquer (sans succès pour moi).Quelqu'un peut-il expliquer comment fonctionne le Struts2 XSL ResultType?

Ma compréhension de la façon dont cela fonctionne est que je crée une feuille de style xsl, puis j'ai une configuration d'action struts qui renvoie d'une manière ou d'une autre un document XML. L'action applique la feuille de style xsl affectée au document xml et affiche le xhtml souhaité dans le navigateur. Est-ce correct?

Si ma compréhension est correcte, quelqu'un peut-il fournir une explication claire et concise de la façon dont j'ai configuré ma classe d'action pour renvoyer un document XML qui peut être transformé?

Si ma compréhension est incorrecte, quelqu'un peut-il me corriger et expliquer comment il est censé être utilisé?

Merci!

Répondre

1

XSLTResult génère en interne le code XML à post-traiter avec le modèle donné. Si vous utilisez un fichier XSLT qui ne se transforme pas en fait quoi que ce soit, vous obtenez le résultat brut:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="result"> 
    <xsl:copy-of select="."></xsl:copy-of> 
    </xsl:template> 
</xsl:stylesheet> 

J'utilise ce modèle pour tous mes résultats XML. Si cela vous semble idiot, je suis d'accord. J'ai trouvé un certain nombre de tutoriels sur les interwebs qui dit que vous pouvez simplement laisser tomber le paramètre location de la définition de résultat, mais cela a conduit à l'erreur suivante pour moi:

javax.xml.transform.TransformerException: Opération non prise en charge. - [lieu inconnu]