1、有时候在页面上会通过链接带参数去控制器请求新的页面,之前的做法是链接跳转的方法里面使用model 来接收参数,然后再在页面里面使用thymeleaf模板来获取该值一开始的做法如下:
页面上的跳转链接:url:'/detailed?paperId='+data.id //所要跳转的地址(控制器上) @GetMapping("/detailed") public String detailed(Integer paperId, Model model){ model.addAttribute("paper",paperId); return "/admin/Detailed"; } //(控制器方法返回的页面)页面上数据的接收页面上一开始记得引入thymeleaf <script> //省略。。。 var id=[[${paper}]]; // 然后接下来就可以把这个数据作为实参返回后台做其它操作 </script>
2、现在的话也可以不用直接在控制器的方法里面写上面这些参数了,而是直接在控制器方法所要跳转的页面里面加上以下的代码:
//跳转链接:
url:'/detailed?paperId='+data.id
/Detailed页面上直接加上下面的就可以了,效果跟上面的是一样的 <script> function getUrlParams(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null) return unescape(r[2]); return null; } var courseTypeId = getUrlParams("paperId"); //这个括号里的注意一下,要跟你链接跳转的时候的参数名字一样 //省略。。。 </script>