ajax 返回前台数据

之前项目开发中,前台访问后台,后台往前台返回值,都是用@RequestBody 注解往前台返回值,并且返回数据类型不一样,方法的定义返回类型也不一样。后面用到了直接用ajax返回值到前台。觉得很方便,在此做下记录


package com.magingunion.framework.util;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletResponse;


public class AJAXUtil {

    /**
     * 返回前台数据(任何类型都可以,String、list等)
     * 
     * @param response
     * @param jsonStr
     */
    public static void success(HttpServletResponse response, String jsonStr) {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        PrintWriter out = null;
        try {
            out = response.getWriter();
            out.write(jsonStr);
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            if(out!=null) out.close();
        }
    }

    /**
     * 返回失败状态
     * 
     * @param response
     * @param jsonStr
     */
    public static void failure(HttpServletResponse response, String jsonStr) {
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");
        response.setStatus(500);
        PrintWriter out = null;
        try {
            out = response.getWriter();
            out.write(jsonStr);
            out.flush();
            out.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally{
            if(out!=null) out.close();
        }
    }

    /**
     * 返回json格式的msg
     * 
     * @param bool 
     * @param response Http response
     */
    public static void handleSuccess(HttpServletResponse response, Boolean bool) {
        PrintWriter out = null;
        String jsonObj = null;
        try {
            response.setContentType("text/html");
            response.setCharacterEncoding("UTF-8");
            out = response.getWriter();
            if (bool)
                jsonObj = "{\"msg\":\"SUCCESS\"}";
            else
                jsonObj = "{\"msg\":\"FAIL\"}";
        } catch (Exception e) {
            e.printStackTrace();
            jsonObj = "{\"msg\":\"FAIL\"}";
        }
        out.write(jsonObj.toString());
        out.flush();
        out.close();
    }

    /**
     * 返回自定义的msg
     * 
     * @param bool 
     * @param response Http response
     * @param msg 
     */
    public static void handleSuccess(HttpServletResponse response,
            Boolean bool, String msg) {
        PrintWriter out = null;
        String jsonObj = null;
        try {
            response.setContentType("text/html");
            response.setCharacterEncoding("UTF-8");
            out = response.getWriter();
            if (bool)
                jsonObj = "{\"msg\":\"SUCCESS\",";
            else
                jsonObj = "{\"msg\":\"FAIL\",";

            jsonObj = jsonObj + msg + "}";
        } catch (Exception e) {
            e.printStackTrace();
            jsonObj = "{\"msg\":\"FAIL\"}";
        }
        out.write(jsonObj.toString());
        out.flush();
        out.close();
    }

}

在方法中,统一用void修饰。并且不需要使用@RequestBody注解,如果返回的是具体数据则用这个返回

AJAXUtil.success(response, JSONObject.toJSONString(data));

如果返回的是成功或者失败,则用

AJAXUtil.handleSuccess(response, true);

AJAXUtil.handleSuccess(response, false);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值