如何使用 struts2 将 Java bean 数组呈现为 XML?
我的输出应该是这样的:
<result>
<item>
<id>123</id>
<src>123</src>
<dst>123</dst>
</item>
<item>
<!-- ... -->
</item>
</result>
并且操作类将有一个方法 getFoos
,它返回一个统一对象的数组,例如:
class Foo {
// ...
public long getId() { ... }
// ...
}
我正在使用这样的 XSLTResult:
<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction">
<result name="success" type="xslt">
<param name="exposedValue">foos</param>
</result>
</action>
因为我不想要对 XML 进行后处理,在阅读了几篇说这可行的教程后,我没有指定任何模板。相反,它给了我这个错误:
javax.xml.transform.TransformerException:不支持操作。 - [未知位置]
所以我尝试使用模板,但它根本没有呈现列表。相反,我将
- bean
toString()
的所有属性放在一起 - 空文档
- 空
标记(而不是
) code>,奇怪的是)
我找不到对我有帮助的教程,无论是关于 Beans->XML 渲染还是 XSLT。一个问题是我很难找到好的搜索词:谷歌搜索“struts xml”和类似的内容会返回大量与 struts.xml
中的内容完全不相关的链接,其中不包括“struts.xml”结果也不好,因为我正在寻找的页面可能有示例 struts.xml 片段。
我认为我并不真正需要模板,所以如果可以不需要模板,那就太好了。
My output should be something like this:
<result>
<item>
<id>123</id>
<src>123</src>
<dst>123</dst>
</item>
<item>
<!-- ... -->
</item>
</result>
And the action class would have a method getFoos
which returns an array of uniform objects, e. g. like this:
class Foo {
// ...
public long getId() { ... }
// ...
}
I'm using the XSLTResult like this:
<action name="channels" method="loadAll" class="com.econemon.suite.api.impl.FooAction">
<result name="success" type="xslt">
<param name="exposedValue">foos</param>
</result>
</action>
Since I don't want to postprocess the XML, I didn't specify any template, after reading several tutorials that said this would work. Instead, it gives me this error:
javax.xml.transform.TransformerException: Operation not supported. - [unknown location]
So I tried using a template, but it never rendered a list at all. Instead I get
- all properties of the beans
toString()
ed together - empty document
- empty
<foo />
tag (not<foos />
, strangely)
I couldn't find a tutorial that helped me, neither on Beans->XML rendering nor XSLT. One problem is that I have trouble coming up with good search terms: googling "struts xml" and similar returns a huge amount of completely irrelevant links about stuff in struts.xml
, excluding "struts.xml" from the results is no good either, because pages I'm looking for would likely have example struts.xml snippets.
I think I wouldn't really need the templates, so if it's possible to do without, great.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这篇博文的一些评论者也有你提到的同样的错误。也许发布的解决方法会有所帮助?
http://cse-mjmcl.cse。 bris.ac.uk/blog/2007/09/10/1189430125294.html
Some commenters on this blog post had the same error you mentioned. Maybe on of the posted workaround will help?
http://cse-mjmcl.cse.bris.ac.uk/blog/2007/09/10/1189430125294.html