struts2 ,action,返回JSON对象

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

1.配置struts.xml文件


		
			
				
  				dataMap.*
				
			
		
	

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

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

excludeProperties

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

2.action源文件

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

private Map 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 getDataMap() {
  return dataMap;
 }

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

运行结果:

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

你可能感兴趣的:(struts2 ,action,返回JSON对象)