使用form默认的数据格式太麻烦了,我的数据嵌套很严重,四层list嵌套,如果通过索引拼input的name太痛苦了,
所以想form表单提交json数据,然后数据提交到后台,后台处理以后再根据我传输的数据跳转到其他页面。
使用form默认的数据格式太麻烦了,我的数据嵌套很严重,四层list嵌套,如果通过索引拼input的name太痛苦了,
所以想form表单提交json数据,然后数据提交到后台,后台处理以后再根据我传输的数据跳转到其他页面。
你要的应该就是这样的写法吧
@RequestMapping(value = "/", method = RequestMethod.GET)
public String welcome(){
return "home/welcome.html";
}
返回的地址注意要写全了,要从static下开始写(我用的springboot)
用了@ResponseBody也是可以做到跳转的,给你参考一下
@RequestMapping(value = "/", method = RequestMethod.GET)
@ResponseBody
public String index() {
return "<script>window.location.href='home/welcome.html';</script>";
}
return "redirect:home/welcome.html";
或者
@RequestMapping(value = "XX")
@ResponseBody
public String index() {
return 一个标识
}
然后ajax中根据标识数据window.location.href = home/welcome.html;
要让后台控制调整,那你就不能用ajax发送请求。
前端form的action执行请求地址,method指定请求方法;
后台接口不要加@ResponseBody 直接return 相应跳转的页面或者重定向到其他页面
/**
* @Param btPageReq 页面传过来的数据
* @return
*/
@RequestMapping(value = "/detailUrl", method = RequestMethod.GET)
public String detail(@ModelAttribute("btPageReq") BtPageReq btPageReq, Model model) {
// 数据处理btPageReq,处理成 data 后返回到页面
model.addAttribute("data", data);
return PREFIX + "/detail.html";
}
无视您的需求,只看结果的话。我觉得您可以直接前端自己组复杂对象,ajax传输给后台,回调结果给前端后直接用前端跳转页面好像更好让你理解一些的。 并且可以更方便的反馈每一步的结果,用户体验更好一些。
8 回答5.7k 阅读✓ 已解决
9 回答9.1k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
12 回答5.7k 阅读
4 回答7.9k 阅读✓ 已解决
7 回答9.7k 阅读
帮你分解一下问题:
使用form默认的数据格式太麻烦了,我的数据嵌套很严重,四层list嵌套,如果通过索引拼input的name太痛苦了。
所以想form表单提交json数据,然后数据提交到后台,后台处理以后再根据我传输的数据跳转到其他页面。
1.首先是数据嵌套严重的问题,可以通过json格式前后端传输数据解决这个问题,前端将json数据绑定到指定的参数上,后端接收该参数后json格式化读取即可。
2.其次是根据传输的数据跳转到其他页面的问题,你想要实现的是控制器可以跳转到指定的视图,可以参考spring的说明文档,控制器可以返回多种类型作为返回值,可以是String,Model,Map,ModelAndView。你这里可以返回String类型来指定视图的名称,也可以返回ModelAndView来指定是哪一个视图。