struts2注解返回json
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Geek_Alex/article/details/78845532
最近项目中需要使用struts2的注解方式实现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类
2.设置result的type为json
@Result(name = "error", type = "json")
3 @JSON注解
a.默认情况下以get方法会被序列化,
b.可使用注解 @JSON(serialize=false)关闭某个get方法的序列化。
c.如果在属性get方法上面加 @JSON(name=”newName”),则返回的json数据中key是指定的新名称。
d. @JSON(format ="yyyy-MM-dd'T'HH:mm:ss”)设置用于格式化json数据中的日期。
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")})
struts2注解返回json的更多相关文章
- Struts2 Convention插件的使用(4)使用@Action注解返回json数据
package com.hyy.action; import java.util.HashMap; import java.util.Map; import org.apache.struts2.co ...
- Extjs 4.1 struts2.3 返回json 初试
之前曾经使用过3.x版本的extjs,当时可以结合struts实现各种基本的增删查改.但是4.1版本中增加了一些属性,出现了一些新的使用方法,导致错误不断,有的时候调用到相应的action却返回不了值 ...
- 解决spring-mvc @responseBody注解返回json 乱码问题
在使用spring-mvc的mvc的时候既享受它带来的便捷,又头痛它的一些问题,比如经典的中文乱码问题.现在是用json作为客户端和服务端 的数据交换格式貌似很流行,但是在springmvc中有时候会 ...
- 解决springmvc使用ResponseBody注解返回json中文乱码问题
spring版本:4.2.5.RELEASE 查看“org.springframework.http.converter.StringHttpMessageConverter”源码,中有一段说明: B ...
- Struts2自定义返回Json类型result
本来Struts2有自己的json类型的返回结果,并提供了插件,但是它有一个问题,那就是它会将所有序列化的字段都返回,如果想要制定返回Action的某一个属性,则需要在配置result时,配置参数(这 ...
- 【原】:关于使用springmvc的responseBody注解返回json的一些总结
配置不正确可能会出现406错误 1:首先需要导入三个jar包: 2:需要在springmvc的配置文件文件中添加转换器并开启注解驱动: 3:controller:这里返回object也是可以的; 4: ...
- struts2后台返回json到jsp页面
1.在action定义一个全局变量如: private Map<String, Object> dataMap; 2.控制层方法 说明:主要的目的是把我们定义的Map转为Json对象,然后 ...
- SpringMVC 利用@ResponseBody注解返回Json时,出现406 not acceptable 错误的解决方法。
1 在RequestMapping中加入produces属性如: @RequestMap(value="/path",produces="application/json ...
- struts2注释返回json数据
随机推荐
- Hibernate4之注解零配置
@Entity ,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) . @Table ,注册在类头上,注解声明了该实体bean映射指定的表(table). @Id用来注册主属性, ...
- android中的BroadCastReceiver
BroadCastReceiver组件本质是一种全局的监听器,用于监听系统全局的广播消息.由于BroadCastReceiver是一种全局的监听器,因此他可以非常方便的实现系统之间不同组件之间的通信. ...
- Activity 通知
//通知图标 int icon = android.R.drawable.stat_notify_chat; //创建通知对象,icon通知图标,tickerText摘要,System.current ...
- LeetCode Array Easy 217. Contains Duplicate
Description Given an array of integers, find if the array contains any duplicates. Your function sho ...
- su - 运行替换用户和组标识的shell
SYNOPSIS(总览) su [OPTION]... [-] [USER [ARG]...] DESCRIPTION(描述) 修改有效用户标识和组标识为USER的. -, -l, --login 使 ...
- Linux设置以root用户开机自动登录桌面
目录 Ubuntu 18.04系统下设置 Redhat7.6系统下设置 Ubuntu 18.04系统下设置 1. 允许使用root用户登录桌面 Ubuntu默认不允许使用root用户登录桌面的, ...
- Java中this的基础用法
update on 2019-07-07 在Java核心技术一书中看到调用方法时this作为隐式参数传入的. 突然间许多问题都懂了 比如:方法的多态 父类变量指向子类对象的引用 对象变量指向的实际类型 ...
- Codeforces 1163E 高斯消元 + dfs
题意:给你一个集合,让你构造一个长度尽量长的排列,使得排列中任意相邻两个位置的数XOR后是集合中的数. 思路:我们考虑枚举i, 然后判断集合中所有小于1 << i的数是否可以构成一组异或空 ...
- qt大小写字符串比较
https://blog.csdn.net/GraceLand525/article/details/48625593 Qt::CaseSensitivity cs = Qt::CaseInsensi ...
- 分组取前N记录(转)
版权声明:本文为博主原创文章,未经博主允许不得转载. 经常看到问题,如何取出每组的前N条记录.方便大家参考于是便把常见的几种解法列出于下. 问题:有表 如下,要求取出各班前两名(允许并列第二)Tabl ...