首页 > 代码库 > 前后台交互的工具类

前后台交互的工具类

在企业的实际开发过程中,前后的的交互基本都有公司自己封装的统一方法,应为这样的话更便于代码的编写。维护,以及新手更容易上手,而且这样代码的风格更加的统一。

1.首先前后台交互的时候主要用到的都是JsonObject。

对于JsonObject的封装每个项目经理都有自己的封装思想,当然我也有自己的封装考虑;

第一个,前后台交互的工具类、主要用户action护着controller层:

思路:

传入一个map和一个response:

 map:封住了数据信息

 response:用于返回

package com.csy.util;

import java.io.PrintWriter;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

public class ResponseUtil {

static JSONObject result = new JSONObject();//返回前台的map
/**
* 页面输出
* @param response
* @param o
* @throws Exception
*/
public static void write(HttpServletResponse response,Map map)throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
setMapValue(map);
out.println(result.toString());
out.flush();
out.close();
}

/**
* 将值放入返回前台的map
* @param valueMap
*/
public static void setMapValue(Map valueMap){
Set<Object> keys = valueMap.keySet();
for(Object key:keys){
result.put(key, valueMap.get(key));
}
}
}

2.此方法主要用在service和controller层的数据交互

package com.csy.util;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class ReturnMap extends HashMap<Object, Object> {
private static final long serialVersionUID = 1L;

private final String messageKey = "message"; //错误消息
private final String errorKey = "error"; //表示是否错误
private final String successKey = "success"; //表示是否错误

private String message;

private boolean error = false; //默认不成功

private boolean success = true;//默认不成功

public ReturnMap(){
super();
}

/**
*
* @param valueMap 需要返回界面的Map
*/
public ReturnMap(Map valueMap){
super();
setMapValue(valueMap);
}

/**
*
* @param valueMap 需要返回界面的Map集合
* @param error 是否错误
* @param message 错误message
*/
public ReturnMap(Map valueMap, boolean error, String message){
super();
setError(error);
setMessage(message);
setMapValue(valueMap);
}

public boolean isSuccess() {
return success;
}

public void setSuccess(boolean success) {
this.success = success;
this.error = !success;
this.put(successKey, success);
this.put(errorKey, !success);
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
this.put(messageKey, message);
}

public boolean isError() {
return error;
}

public void setError(boolean error) {
this.error = error;
this.success = !error;
this.put(errorKey, error);
this.put(successKey, !error);
}

public void setMapValue(Map valueMap){
Set<Object> keys = valueMap.keySet();
for(Object key:keys){
this.put(key, valueMap.get(key));
}
}

}

前后台交互的工具类