程序员社区

【SpringMvc学习及总结11】视图解析

文章目录

      • 1 利用相对目录
      • 2 forward:转发页面
      • 3 redirect:重定向页面
      • 4.利用配置将请求映射到/WEB-INF/pages/login.jsp

问题提出:

配置了视图解析器,控制器类中的方法执行后,SpringMvc自动拼接路径转到
/WEB-INF/pages/success.jsp,那么如何转到hello.jsp页面而不是success.jsp页面??

在这里插入图片描述

1 利用相对目录

@Controller
public class HelloController {
    @RequestMapping("/hello")
    public String test(){
        // /WEB-INF/pages/hello.jsp往上退两级目录即可
        return "../../hello";
    }
}

2 forward:转发页面

forward:转发到当前项目下的指定页面,且不用配置视图解析器

@Controller
public class HelloController {
    @RequestMapping("/hello2")
    public String test2(){
       return "forward:/hello.jsp";
    }
}

可以进行多次转发:

@Controller
public class HelloController {
    @RequestMapping("/hello2")
    public String test2(){
       return "forward:/hello.jsp";
    }

    @RequestMapping("/hello3")
    public String test3(){
        return "forward:/hello2";
    }
}

在这里插入图片描述

3 redirect:重定向页面

原生的servlet重定向时需要加项目名,SpringMvc重定向不需要加项目名
不需要配置视图解析器

@Controller
public class HelloController {
    @RequestMapping("/hello4")
    public String test4(){
        return "redirect:/hello.jsp";
    }
}

可以多次重定向:

@Controller
public class HelloController {
    @RequestMapping("/hello4")
    public String test4(){
        return "redirect:/hello.jsp";
    }

    @RequestMapping("/hello5")
    public String test5(){
        return "redirect:/hello4";
    }
}

4.利用配置将请求映射到/WEB-INF/pages/login.jsp

在这里插入图片描述

<a href="toLoginPage">登录页面</a>
<mvc:view-controller path="toLoginPage" view-name="login"/>

视图解析器会自动对login进行页面拼接
在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【SpringMvc学习及总结11】视图解析

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区