springmvc modelview 返回数据与页面交互处理
来源:互联网 发布:ember.js pdf 编辑:程序博客网 时间:2024/06/05 11:43
springmvc controller层在与前端页面进行数据交互时,根据页面处理需要对modelview响应数据做处理,
举例说明:
@RequestMapping(params = "action=jumpEduproduct") public void getEduProduct(HttpServletRequest request, HttpServletResponse response) throws IOException { logger.info("action=jumpEduproduct=====>"); Map<String,String> paramsMap = new HashMap<String, String>(); String jsonStr = ""; JSONObject jsonObject = new JSONObject(); response.setHeader("Content-type", "text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8");// ====处理方式1: if (StringUtils.isBlank(userId)) { logger.error("error userid!"); jsonObject.put("ret",-1); jsonObject.put("msg", "用户ID不能为空!"); response.getWriter().print(jsonObject.toString()); return; } if (resq.getRet() != 0){ jsonObject.put("msg","处理异常, 返回错误数据!"); jsonObject.put("ret",resq.getRet()); jsonObject.put("msg", resq.getMsg()); response.getWriter().print(jsonObject.toString()); return; }........// ====处理方式2: YdEduResp resq = JSON.parseObject(jsonStr, YdEduResp.class); if ((appFlag == 0 || appFlag == 1)){ if (resq.getRet() == 0){ directUrl = resq.getCallbackurl() + "&accesstoken=" + resq.getAccesstoken() + "&random=" + Math.random(); System.out.println("success direct:" + directUrl); response.getWriter().write("<script>window.location.href=\'" + directUrl + "\';</script>");// response.getWriter().write("<script>window.open(\'" + directUrl + "\','_blank')</script>"); return; }else{ directUrl="http://www.baidu.com"; System.out.println("==>fail direct2:" + directUrl+"__fail reason:"+resq.getMsg()); response.getWriter().write("<script>window.alert(\'接口响应异常,返回XXX首页!\');window.location.href=\'" + directUrl + "\';</script>"); return; }
对应方式1 对应某页面page发起请求,响应json对象数据到page页面,page进行解析处理:
page页面先发起ajax请求:
$('.govdiv').click(function(){// $.getScript( $(this).attr('data-url') ); $.ajax({ url : $(this).attr('data-url'), type : "POST", data : JSON.stringify(data), //转JSON字符串 dataType: 'json', contentType:'application/json;charset=UTF-8', success : function(result) { dispatch(result); } });
result为controller的响应数据,click()提交请求响应成功后对响应数据进行解析:
function dispatch(data){ if(data.ret!=0) alert(data.msg); else{ if (data.accessToken != null && data.accessToken != ""){// window.location.href = data.callbackurl +"&accesstoken=" + data.accesstoken+"&tmp="+Math.random(); window.open(data.callbackurl +"&accesstoken=" + data.accessToken+"&tmp="+Math.random()); }else{// window.location.href = data.callbackurl; window.open(data.callbackurl); } }
对应方式2:
直接打开新窗口或重定向到某页面,不与页面进行交互,一般用于异常场景,响应数据不需要前端解析直接对用户进行提示。
阅读全文
0 0
- springmvc modelview 返回数据与页面交互处理
- SpringMVC返回页面数据
- SpringMVC返回页面数据
- iOS webView与H5的交互(返回页面的处理)
- iOS webView与H5的交互(返回页面的处理)
- iOS webView与H5的交互(返回页面的处理)
- SpringMVC之返回页面数据
- $.post与springmvc数据交互
- SpringMVC与Ajax数据交互
- easyUI form提交与springMVC交互时服务端返回的错误处理
- springMVC之与jsp页面交互1
- SpringMVC将数据返回到页面
- SpringMVC统一异常处理(返回异常数据而不是跳转到某个页面的方法)
- SpringMVC统一异常处理(返回异常数据而不是跳转到某个页面的方法)
- SpringMVC返回JSON数据406错误处理
- springMVC之与json数据交互方法
- SpringMVC与json数据的交互
- SpringMVC 与 Json实现数据交互
- Dynamics CRM2016 Subgrid之OnLoad event
- Android BroadcastReceiver
- git reset --hard HEAD^ more?
- 可能用到的数据集记录
- 课程调度问题:LeetCode 630. Course Schedule III
- springmvc modelview 返回数据与页面交互处理
- SpringBoot集成Redis来实现缓存技术方案
- 深入理解Spark 2.1 Core (五):Standalone模式运行的原理与源码分析
- android 视频编辑框架(分割,裁剪,旋转,合并,添加logo,背景音乐等等)
- recv什么时候返回
- DataBinding基本功能使用笔记
- JPA中bean的四种状态跟hibernate中的bean三种状态
- Tensorflow入门程序MNIST学习
- jdbc连接mysql sqlserver oracle的工具类