在使用spring mvc做异步请求的时候,返回一个对象,让jsp页面来解析,我们就需要写一个较为通用的封装类。
1.首先我们定义3个成员:
//设置一个状态码,比如100表示成功,200表示失败
private int code;
//提示信息
private String message;
//返回给浏览器的信息
private Map<String, Object> extend = new HashMap<>();
通过map来存对象。就可以存多个任意的对象了。
2.然后使用静态方法创建成功或者失败的简单对象:
public static JsonMessageResult success(){
//返回一个成功的对象
JsonMessageResult jsonMessageResult = new JsonMessageResult();
jsonMessageResult.setCode(100);
jsonMessageResult.setMessage("处理成功");
return jsonMessageResult;
}
//返回一个失败的对象
public static JsonMessageResult fail(){
JsonMessageResult jsonMessageResult = new JsonMessageResult();
jsonMessageResult.setCode(200);
jsonMessageResult.setMessage("处理失败");
return jsonMessageResult;
}
3.链式储存
这个功能很强,我们可以使用对象.add(key,Object)的方式来添加
//链式添加map数据
public JsonMessageResult add(String key, Object object){
//获取一个map并且向其中put数据
this.getExtend().put(key, object);
return this;
}
4.使用
通过以上的设置我们就可以这要使用:
1.返回成功对象
JsonMessageResult.success();
2.返回成功对象并且添加一个date对象
JsonMessageResult..success().add("date",date);
3.返回成功对象并且添加一个date对象和一个test对象
JsonMessageResult..success().add("date",date).add("test",test);
这种链式储存会比较方便和通用。
5.全部代码
import java.util.HashMap;
import java.util.Map;
/**
* 封装json,通用的一个处理消息,可以返回给客户端
*/
public class JsonMessageResult {
//设置一个状态码100表示成功,200表示失败
private int code;
//提示信息
private String message;
//返回给浏览器的信息
private Map<String, Object> extend = new HashMap<>();
//返回成功的一个对象
public static JsonMessageResult success(){
JsonMessageResult jsonMessageResult = new JsonMessageResult();
jsonMessageResult.setCode(100);
jsonMessageResult.setMessage("处理成功");
return jsonMessageResult;
}
//返回一个失败的对象
public static JsonMessageResult fail(){
JsonMessageResult jsonMessageResult = new JsonMessageResult();
jsonMessageResult.setCode(200);
jsonMessageResult.setMessage("处理失败");
return jsonMessageResult;
}
@Override
public String toString() {
return "JsonMessageResult{" +
"code=" + code +
", message='" + message + '\'' +
", extend=" + extend +
'}';
}
//链式添加map数据
public JsonMessageResult add(String key, Object object){
this.getExtend().put(key, object);
return this;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Map<String, Object> getExtend() {
return extend;
}
public void setExtend(Map<String, Object> extend) {
this.extend = extend;
}
}
不对之处请多指教!