Extjs与Struts2交互,返回JSON数据的两种实现方式

标签: strutsextjsjson
208人阅读 评论(0) 收藏 举报

方案1

需要配置jar包:json-lib-2.3-jdk15.jar,

struts.xml不需要配置json result.

Action不支持return返回结果.

返回JSON方式:response.getWriter().write("xxxx");


struts.xml配置案列

  1. <!-- 利用json for jdk lib,通过response.getWriter.write(); -->  
  2.     <package name="com.langsin.crm.struts"  extends="struts-default">  
  3.           <action name="city" class="cityAction" method="getCities">  
  4.               
  5.          </action>    
  6.     </package>  


方案2

需要配置jar包struts2-json-plugin-2.1.8.jar.

struts.xml需要配置json result.

Action支持return返回结果(SUCCESS)

返回JSON方式:<param name="includeProperties">propertyName1,propertyName2</param>


struts.xml配置案列

  1. <!-- 利用struts-json-plugin,result type='json' -->  
  2.  <action name="city" class="cityAction" method="getCities">  
  3.     <result type="json" name="success">     
  4.          <param name="root">page</param>                
  5.          <param name="excludeProperties">start,limit</param>  
  6.     </result>  
  7. </action>     

  1. <result type="json">  
  2.     <param name="includeProperties">success,url</param>  
  3.     <param name="enableGZIP">true</param>  
  4.     <param name="noCache">true</param>  
  5. </result>    

Action类参考代码
  1. //方案1  
  2.         HttpServletResponse response = ServletActionContext.getResponse();  
  3.         response.setCharacterEncoding("UTF-8");  
  4.         page.setTotalCount(cityManager.countCities(pname));  
  5.         page.setRoot(cityManager.getCities(pname, page.getStart(),page.getLimit()));  
  6.         JSONArray json = JSONArray.fromObject(page.getRoot());//利用json-lib-2.3-jdk15.jar将java对象转换为json字符串对象   
  7.         response.getWriter().write("{totalCount:"+page.getTotalCount() +",data:"+json.toString()+"}");  
  8.         return null;  

  1. //方案2  
  2.         page.setTotalCount(cityManager.countCities(pname));  
  3.         page.setRoot(cityManager.getCities(pname, page));  
  4.         return SUCCESS;  

参考资料

https://struts.apache.org/docs/json-plugin.html






0
0
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值