struts2註解返回json

 

Struts2使用註解方式返回Json數據

最近項目中須要使用struts2的註解方式實現Json數據的返回 apache

講道理,網上一大堆解決方案,試了半天沒有一個徹底解決個人問題,所以集百家之長寫了這篇博客,但願對你們有用。json

 
 

1.引入struts2-json-plugin和struts2-convention-plugin的jar包

<dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> <version>${struts2.version}</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>${struts2.version}</version> </dependency>

2.Action類註解

1.使用註解@ParentPackage("json-default")註解Action類markdown

2.設置result的type爲jsonpost

@Result(name = "error", type = "json")spa

 

3 @JSON註解

a.默認狀況下以get方法會被序列化,.net

b.可以使用註解 @JSON(serialize=false)關閉某個get方法的序列化。code

c.若是在屬性get方法上面加 @JSON(name=」newName」),則返回的json數據中key是指定的新名稱。orm

d. @JSON(format ="yyyy-MM-dd'T'HH:mm:ss」)設置用於格式化json數據中的日期。xml

e. @JSON(deserialize=true)設置是否反序列化該屬性。

 

4.param參數設置

4.1.root參數:返回單個數據

使用方法::

@Action(value="xxxx",results={ @Result(name=「xxx」type="json",params={"root","要返回的數據名稱"})})

4.2. excludeNullProperties 參數:過濾屬性值爲null的數據

使用方法:: @Action(value="xxxx",results={ @Result(name=「xxx」type="json",params={「excludeNullProperties","true"})})

4.3. ignoreHierarchy 參數:表示是否忽略等級。ignoreHierarchy值默認爲true,設置爲false後會將父類和子類的屬性一塊兒輸出。

使用方法:: @Action(value="xxxx",results={ @Result(name=「xxx」type="json",params={"ignoreHierarchy","true"})})

4.4. includeProperties 參數:輸出結果中須要包含的屬性值,這裏正則表達式和屬性名匹配,能夠用「,」分割多個正則表達式。

使用方法:: @Action(value="xxxx",results={ @Result(name=「xxx」type="json",params={"includeProperties","msg,user\\.username,list\\[1\\]\\.password,map.*","prefix","true"})})

 

4.5. excludeProperties 參數:輸出結果須要排除的屬性值,用法與includeProperties相同。

使用方法:@Action(value="xxxx",results={ @Result(name=「xxx」type="json",

params={"excludeProperties","msg,user\\.username,list\\[1\\]\\.password,map.*","prefix","true")})

相關文章
相關標籤/搜索