2009-10-29 2 views
1

Ma sortie doit être quelque chose comme ceci:Comment rendre un tableau de beans Java en XML avec struts2?

<result> 
    <item> 
    <id>123</id> 
    <src>123</src> 
    <dst>123</dst> 
    </item> 
    <item> 
    <!-- ... --> 
    </item> 
</result> 

Et la classe d'action aurait une méthode getFoos qui retourne un tableau d'objets uniformes, e. g. comme ceci:

class Foo { 
    // ... 
    public long getId() { ... } 
    // ... 
} 

J'utilise le XSLTResult comme ceci:

<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction"> 
    <result name="success" type="xslt"> 
    <param name="exposedValue">foos</param> 
    </result> 
</action> 

Depuis que je ne veux pas le post-traitement XML, je ne l'ai pas spÈcifiÈ de modèle, après avoir lu plusieurs didacticiels dit que cela fonctionnerait. Au lieu de cela, il me donne cette erreur:

javax.xml.transform.TransformerException: Operation not supported. - [unknown location]

J'ai donc essayé d'utiliser un modèle, mais il n'a jamais rendu une liste du tout. Au lieu de cela, je reçois

  • toutes les propriétés des haricots toString() ed ensemble
  • document vide
  • vide tag <foo /> (pas <foos />, étrangement)

Je ne pouvais pas trouver un tutoriel qui m'a aidé , ni sur le rendu Beans-> XML, ni sur XSLT. Un problème est que j'ai du mal à trouver de bons termes de recherche: googler "struts xml" et similaires renvoie une énorme quantité de liens complètement non pertinents sur des choses dans struts.xml, à l'exclusion de "struts.xml" des résultats n'est pas bon non plus, parce que les pages Je suis à la recherche d'exemples probables de struts.xml.

Je pense que je n'aurais pas vraiment besoin des modèles, donc s'il est possible de s'en passer, super.

+0

Si vous êtes en mesure de le faire. J'aimerais entendre comment. – Omnipresent

+0

Je ne sais pas si vous pouvez, mais vous pourriez vouloir prendre de l'aide d'un groovlet ... vous pouvez avoir votre classe d'action Struts2 appeler un grovlet .. faire le xml pour vous et le renvoyer. – Omnipresent

Répondre

0

Certains commentateurs sur ce blog ont eu la même erreur que vous avez mentionnée. Peut-être sur la solution de contournement posté aidera?

http://cse-mjmcl.cse.bris.ac.uk/blog/2007/09/10/1189430125294.html

+0

Je les avais déjà regardés auparavant, c'est pratiquement la seule chose utile que j'ai pu google. J'ai maintenant un modèle qui ne fait aucune transformation, tout comme les solutions de contournement que vous avez mentionnées. Pourtant, je me demande si c'est vraiment comme ça que ça fonctionne et pourquoi la documentation et les ressources en ligne sont si mauvaises. –

Questions connexes