2012-03-27 23 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