2012-03-27 25 views
1

我正在使用Struts2 REST插件創建一個Web服務,這非常棒。我只是遇到了XML輸出的實體名稱問題。Struts2 + REST插件XML輸出

我有包「com.mycompany.implementation」有幾個屬性和嵌套類「NestedModelClass」命名爲「ModelClass」模型類,以及XML輸出如下:

<com.mycompany.implementation.ModelClass> 
    ... 
    <com.mycompany.implementation.ModelClass_-NestedModelClass> 
     ... 
    </com.mycompany.implementation.ModelClass_-NestedModelClass> 
</com.mycompany.implementation.ModelClass>  

如何我可以更改XML實體名稱以顯示包名 - 甚至是不同的名稱嗎?

謝謝!

回答

1

struts rest插件使用XStream將您的模型類序列化爲XML。當前版本的XStream支持註釋類和字段來自定義序列化。不幸的是,struts rest插件使用了一個相當舊的XStream版本,忽略了這些註釋。

獲得您想要的最簡單的方法是編寫您自己的ContentTypeHandler,並使用它代替其餘插件提供的默認方法。 This blog描述瞭如何做到這一點。

+0

博客網站被破壞,更新它。 – neteinstein 2013-05-07 16:42:11