Struts2 + REST插件XML输出

时间:2012-03-27 14:32:58

标签: rest struts2 struts

我正在使用Struts2 REST插件创建一个Web服务,它运行良好。我只是对XML输出的实体名称有疑问。

我在“com.mycompany.implementation”包中有一个名为“ModelClass”的模型类,它有一些属性和一个嵌套类“NestedModelClass”,XML输出如下所示:

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

如何在没有包名的情况下更改要显示的XML实体名称 - 甚至是不同的名称?

谢谢!

1 个答案:

答案 0 :(得分:1)

struts rest插件使用XStream将模型类序列化为XML。当前版本的XStream支持注释类和字段以自定义序列化。不幸的是,struts rest插件使用了相当旧版本的XStream,忽略了那些注释。

获得所需内容的最简单方法是编写自己的ContentTypeHandler并使用它而不是其余插件提供的默认值。 This blog描述了如何做到这一点。