struts2 ,action,返回JSON对象

使用struts2返回json的方法如下:

1.配置struts.xml文件

<package name="json" extends="json-default" >
		<action name="testByAction"
			class="cn.ysh.studio.struts2.json.demo.action.UserAction" method="testByAction">
			<result type="json">
				<param name="includeProperties">
  				dataMap.*
				</param>
			</result>
		</action>
	</package>

includeProperties表名要包含的在JSON对象中的属性名,JSON支持很多种数据,包括常用的java类型,以及类,LIST,MAP等类型.MAP类型属性,配置时要写成,MAP名.*,否则会返回空,即""

param 可以配置多种参数,可以配置启动时不包含哪些问题,如

excludeProperties

可以表明JSON里面不包含哪些类中的.excludeProperties有比includeProperties更高的权限.

2.action源文件

action源文件中要写出供JSON使用的getter方法,对于未定义的属性,也可以创建相应的getter方法供JSON使用.

private Map<String, Object> dataMap;

public String testByAction() {
  // dataMap中的数据将会被Struts2转换成JSON字符串,所以这里要先清空其中的数据
  dataMap.clear();
  User user = new User();
  user.setId("123");
  user.setName("JSONActionStruts2");
  user.setPassword("123");
  user.setSay("Hello world !");
  dataMap.put("user", user);
//  dataMap.put("dataMap", dataMap);    
  // 放入一个是否操作成功的标识
  dataMap.put("success", true);
  // 返回结果
//  varm =new String("just check string");
//  dataMap.put("checkstring",varm);
  varm = new String("just 22");
  return SUCCESS;
 }
public Map<String, Object> getDataMap() {
  return dataMap;
 }

3.浏览器中调用相应的action,可以看到返回的json对象

运行结果:

{"dataMap":{"success":true,"user":{"id":"123","name":"JSONActionStruts2","password":"123","say":"Hello world !"}}}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值