springBoot 后台方法进行重定向

  以下内容只是本人在开发中为加强记忆,而写

      在开发中,总是会遇到各种各样的跳转的问题,有些是需要在前端页面中直接执行,比如:添加新数据对象,返回上一级,查看详情这一类的,都可以通过在页面中通过a标签

或者是JS中的window.location.href(xxxx)这样的方式来实现,加入需要带参数的,就是一些比较常规的写法,用"?"后拼接参数来实现就好了.

比如:

<a th:href="@{'方法路径?参数=' + ${参数值}}">操作名</a>//thyme  leaf 跳转写法
<a th:onclick="'javascript:JS方法名('+${JS方法参数值}+')'">操作名</a>//当参数值是通过thymeleaf框架获取到,且需要作为JS方法传递参数值时.
function deleteProject(projectId){
util.dialog.confirm("是否删除",1,function(){
window.location.href="/admin/resource/projectList/deleteProjectByProjectId?projectId="+projectId;
},function(){
return false;
});
}
//条件查询时,可作为传递参数方法使用
$("#searchButton").click(function() {
var projectType = $("#projectType").val();
var projectName = $("#projectName").val();
var param="?";
if(projectType > 0 && projectType != null) {
param += "projectType="+projectType
}
if(projectName.length > 0) {
param += "&projectName="+projectName;
}
window.location.href = "/admin/resource/projectList"+param;
});
 

当然,上面条件查询时的写法是最基础的写法,还有一种方法是,可以把参数压缩动态传值.后台统一解析.但是个人感觉两者原理上差不多.就是这种写法比较麻烦.代码量比较大.

上面是JS页面,跳转的一些基本方法.

后台页面跳转,也就是重定向,记得用JSP---servlet的时,可以用response.sendRedrict(xxxx);的方式,可以完成重定向.可是那样每个需要重定向的方法中都需要写那些生命代码.

这里也是从网上找到几个适用的方法,来记录一下:

  1.直接返回值中加重定向:"redirect:要访问的网址";

public String updateOrAddProject() {
   return "redirect:要访问的相对网址或绝对网址?参数名="+参数值;
}

  2.适用modelAndView对象来进行,

 public ModelAndView findProjectPage() {
        ModelAndView modelAndView = new ModelAndView(需要跳转的页面路径);
        XXXXXXX
        return modelAndView;
    }

  3.就是继承HttpServlet类,声明HttpServletResponse 来完成后台的重定向.

posted @ 2017-11-22 15:03  每天学习1点点  阅读(72723)  评论(0编辑  收藏  举报