2009-10-29 30 views
1

我的輸出應該是這樣的:如何使用struts2將Java bean數組呈現爲XML?

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

和動作類需要有一個方法getFoos返回統一對象,E的數組。 G。像這樣:

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: Operation not supported. - [unknown location]

所以我嘗試使用模板,但它從來沒有呈現一個列表。相反,我得到

  • toString()編在一起
  • 空文檔
  • <foo />標籤(未<foos />,奇怪)

我無法找到一個教程,幫助我所有的bean的屬性,在Beans-> XML呈現和XSLT上都沒有。一個問題是,我很難提出好的搜索條件:搜索結果「struts xml」和類似的返回大量完全不相關的鏈接關於struts.xml中的東西,從結果中排除「struts.xml」也是不好的,因爲頁面我正在尋找可能會有示例struts.xml片段。

我想我不會真的需要這些模板,所以如果有可能沒有,很好。

+0

如果你能夠做到這一點。我很想聽聽。 – Omnipresent 2009-10-31 01:14:07

+0

我不知道你是否可以,但你可能想從groovlet中獲得一些幫助......你可以讓你的Struts2動作類調用grovlet ..爲你製作xml並將其發送回去。 – Omnipresent 2009-10-31 01:15:16

回答

0

此博客文章中的一些評論者與您提及的錯誤相同。也許在發佈的解決方法將有所幫助?

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

+0

我之前也曾看過這些,這實際上是我能夠谷歌唯一有用的東西。現在我有一個模板,根本不會做任何轉換,就像您提到的解決方法一樣。不過,我想知道這是否應該如何工作,以及爲什麼文檔和在線資源如此糟糕。 – 2009-10-29 19:34:51