2012-03-27 15 views
1

Struts2 RESTプラグインを使用してWebサービスを作成していますが、これはうまく機能します。私はちょうどXML出力のエンティティ名に問題があります。Struts2 + RESTプラグインXML出力

は、私はいくつかのプロパティとネストしたクラス「NestedModelClass」とパッケージ「com.mycompany.implementation」で「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 Pluginはかなり古いバージョンのXStreamを使用し、これらのアノテーションは無視しています。

あなたが望むものを得る最も簡単な方法は、独自のContentTypeHandlerを作成し、残りのプラグインによって提供されるデフォルトのものの代わりにそれを使用することです。 This blogにその方法を説明しています。

+0

ブログサイトが壊れて更新されました。 – neteinstein