Como faço para prestar uma série de feijão Java para XML com struts2?
Pergunta
A minha saída deve ser algo como isto:
<result>
<item>
<id>123</id>
<src>123</src>
<dst>123</dst>
</item>
<item>
<!-- ... -->
</item>
</result>
E a classe de ação teria um getFoos
método que retorna uma matriz de objetos uniformes, e. g. assim:
class Foo {
// ...
public long getId() { ... }
// ...
}
Eu estou usando o XSLTResult assim:
<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction">
<result name="success" type="xslt">
<param name="exposedValue">foos</param>
</result>
</action>
Desde que eu não quero postprocess o XML, eu não especificar qualquer modelo, depois de ler vários tutoriais que diziam que este iria funcionar. Em vez disso, dá-me este erro:
javax.xml.transform.TransformerException: Operação não suportada. - [desconhecido localização]
Então, eu tentei usar um modelo, mas nunca proferiu uma lista de todo. Em vez I get
- todas as propriedades dos grãos
toString()
ed juntos - documento vazio
- tag
<foo />
vazio (não<foos />
, estranhamente)
Eu não poderia encontrar um tutorial que me ajudou, nem no Beans-> renderização XML nem XSLT. Um problema é que eu tenho dificuldades para chegar com bons termos de pesquisa: googling "struts xml" e retornos semelhantes uma enorme quantidade de ligações completamente irrelevantes sobre assuntos em struts.xml
, excluindo "struts.xml" a partir dos resultados não é bom também, porque páginas Eu estou procurando provavelmente teria trechos exemplo struts.xml.
Eu acho que eu realmente não precisa os modelos, por isso, se é possível fazer sem, ótimo.
Solução
Alguns comentadores neste post teve o mesmo erro que você mencionou. Talvez on da solução alternativa postado vai ajudar?
http: // CSE-mjmcl .cse.bris.ac.uk / blog / 2007/09/10 / 1189430125294.html