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")})

相关文章
相关标签/搜索