2011-08-03 8 views
5

申し訳ありませんが、この質問のタイトルを要約する方法は本当にわかりません。タイトルがはっきりしないことがあります。strutsのjsonのクラス内のプロパティの一部のみを転送します

私はいくつかのビジネスロジックを実行するアクションクラスを持っています。アクションクラスで

:マーチャンダイズクラスの

class ActionClass extends ActionSupport{ 
     private Merchandise merchandise;// I want to transfer it to the client 
     //setter and getter 

} 

class Merchandise{ 
    private String name; // I want to transfer it 
    private String price; //I don't want to transfer it 
    private String description;//I don't want to transfer it 
    //setter and getter 
} 

は今、私はクライアントにActionClass商品プロパティを転送する必要があります。

はしかし、商品プロパティで、私は他の2つのプロパティを抑制しつつのみ名前プロパティを転送します。

次に、クラスMerchandiseの他の2つのプロパティ(価格と説明)の転送を禁止するにはどうすればよいですか?

+0

可能 – anu

答えて

5

のようなものを試してみてください:

<!-- Result fragment --> 
<result type="json"> 
    <param name="root">merchandise</param> 
    <param name="excludeProperties">price,description</param> 
</result> 

http://struts.apache.org/2.2.3/docs/json-plugin.html

+1

は本当に感謝、私が十分に文書を消化していないと思われる場合は、いくつかの例を挙げて、「私はそれらの一部のみ、これらのプロパティおよび転送をフィルタリングする」の詳細を説明することができます、まだ。もっと仕事が必要です。 :-) – xiaohan2012

0

で完全なドキュメント、他のオプションと例を参照してください最も簡単な方法は、あなたが望むだけのフィールドが含まれ、あなたのアクションクラスでのデータ転送オブジェクトを作成することですクライアントに送信してそのルートオブジェクトを作成する

0

@nmc回答は正しいと思われる別の方法です。

<result type="json"> 
    <param name="root">merchandise</param> 
    <param name="includeProperties">name</param> 
</result> 

それとも

<result type="json"> 
    <param name="includeProperties"> 
     merchandise.name 
    </param> 
    <param name="root"> 
     #action 
    </param> 
    </result> 
関連する問題