SSH返回Json格式的数据
2015-11-22 20:43
525 查看
在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了。在这里以简单的Demo总结两种ssh返回Json格式的数据
struts2返回json数据必须导入struts2-json-plugin-2.3.15.1.jar
项目目录如下
点击/article/9057001.html查看
struts2返回json数据必须导入struts2-json-plugin-2.3.15.1.jar
项目目录如下
目目录如下 主要是看 上图选择的部分 WebRoot里面就是平常的配置 第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串 (gson-1.6.jar) 主要的代码如下 1 package com.javen.tool; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.http.HttpServletResponse; 7 8 import com.google.gson.Gson; 9 10 public class ResultUtils { 11 public static void toJson(HttpServletResponse response, Object data) 12 throws IOException { 13 Gson gson = new Gson(); 14 String result = gson.toJson(data); 15 response.setContentType("text/json; charset=utf-8"); 16 response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存 17 PrintWriter out = response.getWriter(); 18 out.print(result); 19 out.flush(); 20 out.close(); 21 } 22 23 24 } 在Action中我们直接将返回的数据封装成Map对象即可 再使用上面的工具类即可 1 public String execute() { 2 Map<String, Object> map = new HashMap<String, Object>(); 3 String status = null; 4 try { 5 System.out.println(name + "" + pass); 6 if (!Tools.isEmpty(name) && !Tools.isEmpty(pass)) { 7 User user = new User(); 8 user.setName(name); 9 user.setPassword(pass); 10 List<User> list = userHander.getUserDAO().findByExample(user); 11 System.out.println(list.size()); 12 if (list.size() > 0) { 13 status = "1"; 14 map.put("users", list); 15 } else { 16 status = "null"; 17 } 18 } else { 19 status = "0"; 20 } 21 map.put("status", status); 22 ResultUtils.toJson(ServletActionContext.getResponse(), map); 23 } catch (IOException e) { 24 // TODO Auto-generated catch block 25 e.printStackTrace(); 26 } 27 return null; 28 } struts 配置如下 1 <package name="default" extends="struts-default" namespace="/"> 2 <global-results> 3 <result name="error">/Error.jsp</result> 4 </global-results> 5 6 <action name="userAction" class="userAction"> 7 </action> 8 </package> 通过浏览器访问返回的数据如下(http://127.0.0.1:8080/DataJson/userAction?name=javen&pass=123) 第一种方法是使用Struts配置实现 将对象转化为Json字符串 主要的代码如下 1、private Map<String, Object> jsonResult; 将声明的对象封装生成get和set方法 2、封装查询的数据到Map集合中 代码如下 1 public String userToJson(){ 2 Map<String, Object> map = new HashMap<String, Object>(); 3 String status = null; 4 try { 5 System.out.println(name + "" + pass); 6 if (!Tools.isEmpty(name) && !Tools.isEmpty(pass)){ 7 User user = new User(); 8 user.setName(name); 9 user.setPassword(pass); 10 List<User> list = userHander.getUserDAO().findByExample(user); 11 System.out.println(list.size()); 12 if (list.size() > 0) { 13 status = "1"; 14 map.put("users", list); 15 } else { 16 status = "null"; 17 } 18 } else { 19 status = "0"; 20 } 21 map.put("status", status); 22 jsonResult=map; 23 return "success"; 24 } catch (Exception e) { 25 // TODO Auto-generated catch block 26 e.printStackTrace(); 27 } 28 return null; 29 } 3、配置struts (注意要extends >>>json-default) <!-- 使用struts2 配置来实现 返回Json数据 --> <package name="json" extends="struts-default,json-default" namespace="/"> <global-results> <result name="error">/Error.jsp</result> </global-results> <action name="userjson" class="userAction" method="userToJson"> <result type="json" > <param name="root">jsonResult</param> </result> </action> </package> 通过浏览器访问返回的数据如下
点击/article/9057001.html查看
相关文章推荐
- Problems with JSPDF and AutoTable
- js中的正则表达式使用
- jspdf.plugin.autotable.js---Basic example
- jsPDF AutoTable plugin
- 关于jsp网页以及web.xml文件配置总结
- JSP白名单
- JSP防盗链接
- HTML+CSS+JavaScript(1)
- JSP浏览器不缓存
- JSP文件下载
- 南大软院大神养成计划--js
- 汇总Javascript各种判断脚本(javascript经典例子)
- chrome jsonView插件安装
- JS事件绑定
- JS事件绑定
- javascript无缝滚动原理
- JSP中系统Date的几点不符合中国时间观的地方
- userChromeJS升级记,应对Firefox兼容性检查
- JSP中的<jsp:include...>和<%@include %>
- ajax问题总结