Comment rendre un tableau de beans Java en XML avec struts2?
Question
Mon résultat devrait ressembler à ceci:
<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>
Étant donné que je ne souhaite pas post-traiter le fichier XML, je n'ai pas spécifié de modèle, après avoir lu plusieurs tutoriels expliquant que cela fonctionnerait. Au lieu de cela, cela me donne cette erreur:
javax.xml.transform.TransformerException: opération non prise en charge. - [lieu inconnu]
J'ai donc essayé d'utiliser un modèle, mais celui-ci n'a jamais rendu une liste. Au lieu de cela, je reçois
- toutes les propriétés des haricots
toString()
édités ensemble - document vide
- balise
<foo />
vide (pas<foos />
, étrangement)
Je n'ai pas trouvé de didacticiel qui m'a aidé, ni sur Beans - > rendu XML ni XSLT. L’un des problèmes est que j’ai du mal à trouver de bons termes de recherche: googler & "Struts xml &"; et similaire renvoie une quantité énorme de liens complètement non pertinents sur des éléments de struts.xml
, à l'exclusion de & "; struts.xml &"; des résultats ne sert à rien non plus, car les pages que je recherche auraient probablement des exemples d’extraits de struts.xml.
Je pense que je n'aurais pas vraiment besoin des modèles, donc s'il est possible de s'en passer, tant mieux.
La solution
Certains commentateurs de ce blog ont eu la même erreur que vous avez mentionnée. Peut-être qu'une solution de contournement publiée vous aidera?
http: // cse-mjmcl .cse.bris.ac.uk / blog / 2007/09/10 / 1189430125294.html