问题描述
- Spring MVC 拼接json后,页面跳转并传json数据
-
从页面A传入参数,在spring controller 中拼接成json数据,怎样跳转到页面B,并同时传递拼接成的json数据? 代码如下: @RequestMapping(value = "/saleout/precheck", method = RequestMethod.GET) //初次查询 public @ResponseBody Map<String,Object> precheckStoreInForm(HttpServletRequest request,SaleOut saleout , Map<String,Object> map,PageInfo sopg){ //传入参数,并做逻辑处理 List<SaleOut> ls=new ArrayList<SaleOut>(); for(SaleOut s:results){ ls.add(s); } Map<String,Object> tempMap=new HashMap<String,Object>(); tempMap.put("rows", ls); tempMap.put("total", ls.size()); return tempMap; } 目前这种处理方式json数据直接显示在页面A中,无法实现跳转到页面B并展示json数据。 用ajax回调函数实现跳转则无法显示json数据,并且调试不显示任何错误,无法定位。 请问在Spring MVC中是否可以实现跳转页面且同时传递json数据? 多谢。
解决方案
可以在controller中绑定参数,跳转页面。去掉注解@ResponseBody。
1、返回值类型改为ModelAndView,利用ModelAndView对象绑定参数并设置跳转页面。
2、返回值类型改为String,利用HttpServletRequest对象绑定参数,返回值设置跳转页面。
推荐这两种方式。
解决方案二:
一般是发异步(ajax)给后台,由后台来跳转页面的,前端开发一般不需要去处理页面跳转的问题。。。。
解决方案三:
为什么要跳转页面并同时传json呢,跳转到页面异步加载数据不行吗?要不然你就在跳转页面的时候,加个addAttribute将你的json放进去,到页面上再取出来
解决方案四:
rows total 看到这些想到easyui的分页了……
如果是的话,那你跳转其他页面只要带上那条数据唯一标示/主键id就行了,
到新的页面再去查数据……没必要带数据过去
解决方案五:
你前端用的是easyUI吗
解决方案六:
假如我从后台的Controller 里面想跳转到A页面,同时A 页面url: 读取一个后台传来的json 数据,
是选择后台将json 格式写入一个.json文件,前端读取,还是选择跳转的同时,传递参数
解决方案七:
modelAndView.addObject("address", address), modelAndView.addObject("certId", Arrays.toString(certId)),modelAndView.addObject("action", "shoppingArt"),modelAndView.addViewName("order/determine-order.ftl").action();为什么跳过去,没有数据是什么原因