• SSH返回Json格式的数据


      在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了。在这里以简单的Demo总结两种ssh返回Json格式的数据

    项目目录如下

     

    主要是看 上图选择的部分 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>

     通过浏览器访问返回的数据如下 

    源码下载地址 http://download.csdn.net/detail/zyw_java/7101821

  • 相关阅读:
    初听余杭...
    生命里走了一位花儿,同时却遇到了10年未见的老同学
    两个馒头过中秋
    周末粉红色的回忆
    jQuery图片剪裁插件 Jcrop
    上周六出去烤肉随便拍了几张
    一周学会Mootools 1.4中文教程:(7)汇总收尾
    30天学会 MooTools 教学(4): 函数和MooTools
    用Mootools寫的一个类似facebook的弹出对话框
    用Mootools获得操作索引的两种方法
  • 原文地址:https://www.cnblogs.com/zyw-205520/p/3665240.html
Copyright © 2020-2023  润新知