ajax 프론트 데이터 되 돌리 기

6639 단어 기술 대사
이전 프로젝트 개발 에서 프론트 데스크 톱 이 백 엔 드 에 접근 하고 백 엔 드 가 백 엔 드 로 되 돌아 오 는 값 은 모두 @ 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);

좋은 웹페이지 즐겨찾기