JsonMessageView工具类
摘要:前言工具类示例:前端发送ajax请求springmvc控制层接收请求并处理请求前言:在工作中使用springmvcweb框架时常常会发送一个ajax请求,我们在控制层接收到请求并处理完后返回一个json数据到前端,这里提供一个工具类实现接口消息视图,用于返回指定格式的json数据。");//设置返回的消息内容//json.setContent;//如果需要返回数据内容则设置}}catch{e.printStackTrace();json.setCode(-10);json.setMessage;returnjson;}returnjson;}
前言
工具类
示例:
前端发送ajax请求
springmvc控制层接收请求并处理请求
前言:
在工作中使用springmvc web框架时常常会发送一个ajax请求,我们在控制层接收到请求并处理完后返回一个json数据到前端,这里提供一个工具类实现接口消息视图(View),用于返回指定格式的json数据。
importjava.io.IOException;
importjava.io.StringWriter;
importjava.io.UnsupportedEncodingException;
importjava.util.Map;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.codehaus.jackson.JsonGenerationException;
importorg.codehaus.jackson.map.JsonMappingException;
importorg.codehaus.jackson.map.ObjectMapper;importorg.springframework.web.servlet.View;
/*** 用于输出指定格式的json消息,接口消息视图
* @author* 2017年7月18日
* @version1.0
*/
public class JSONMessageView implementsView {
//消息码
private intcode;
//消息内容
privateString message;
//数据内容
privateObject content;
//返回数据内容类型
private String contentType = "application/json";
//无参构造
publicJSONMessageView() {
}
//有参构造
public JSONMessageView(intcode, String message, Object content) {
super();
this.code =code;
this.message =message;
this.content =content;
}
//设置返回的字符编码与数据内容、数据内容类型
@Override
public void render(Map<String, ?> arg0, HttpServletRequest arg1,HttpServletResponse response) throwsException {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", getContentType());
response.getWriter().write(toString());
}
//设置json格式数据
@Override
publicString toString(){
ObjectMapper mapper = newObjectMapper();
StringWriter sw = newStringWriter();
try{
mapper.writeValue(sw, this);
} catch(JsonGenerationException e) {
e.printStackTrace();
} catch(JsonMappingException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
returnsw.toString();
}
public static void main(String[] args) throwsUnsupportedEncodingException {
System.out.println(new JSONMessageView(-1, "错误", ""));
}
//getter/setter方法
public intgetCode() {
returncode;
}
public void setCode(intcode) {
this.code =code;
}
publicString getMessage() {
returnmessage;
}
public voidsetMessage(String message) {
this.message =message;
}
publicObject getContent() {
returncontent;
}
public voidsetContent(Object content) {
this.content =content;
}
publicString getContentType() {
returncontentType;
}
public voidsetContentType(String contentType) {
this.contentType =contentType;
}
}
示例:
前端发送ajax请求:
$.ajax({
url:"${request.contextPath}/merchant/coupon/addCoupon.html",
type:"post",
data:{"":,},
dataType:"json",
success:function(data){
if(data.code==0){
$("#addAcount").hide();//隐藏窗口
alert(data.message); //弹出返回消息内容
//data.content//返回的数据内容
location.reload();//刷新页面
}else{
alert(data.message);
}
},
error:function(){
alert(data.message);
}
});
springmvc控制层接收请求并处理请求:
/*** 添加优惠券
*/@RequestMapping(value="/addCoupon.html",produces="application/json; charset=UTF-8")
publicJSONMessageView addCoupon(DisCoupon disCoupon,HttpServletRequest request){
JSONMessageView json = new JSONMessageView(-1, "保存失败", null);
try{
//...省略具体处理细节
disCouponService.saveOrUpdate(disCoupon);
json.setCode(0); //设置返回消息码 0表示成功,非0表示失败
json.setMessage("保存成功!"); //设置返回的消息内容
//json.setContent(disCoupon); //如果需要返回数据内容则设置
}
}catch(Exception e) {
e.printStackTrace();
json.setCode(-10);
json.setMessage("保存失败");
returnjson;
}
returnjson;
}
免责声明:文章转载自《JsonMessageView工具类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇tar.xz如何解压:linux和windows下tar.xz解压命令介绍Qt 在Qwidget里添加控件下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=