带参数的链接跳转

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>

  

原文地址:https://www.cnblogs.com/yanghr/p/13209022.html