Java – SpringMVC视图

简介

SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图

当工程引入jstl的依赖,转发视图会自动转换为JstlView

若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView

 

ThymeleafView 视图

当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现跳转

    @RequestMapping("/testHello")
    public String testHello(){
        return "hello";
    }

 

InternalResourceView 转发视图

SpringMVC中默认的转发视图是 InternalResourceView

SpringMVC中创建转发视图的情况:

当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部分作为最终路径通过转发的方式实现跳转

例如"forward:/","forward:/employee"

    @RequestMapping("/testForward")
    public String testForward(){
        return "forward:/testHello";
    }

 

RedirectView 重定向视图

SpringMVC中默认的重定向视图是 RedirectView

当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转

例如"redirect:/","redirect:/employee"

    @RequestMapping("/testRedirect")
    public String testRedirect(){
        return "redirect:/testHello";
    }

注意:重定向视图在解析时,会先将redirect:前缀去掉,然后会判断剩余部分是否以/开头,若是则会自动拼接上下文路径

 

view-controller 视图控制器

SpringMVC 除了可以在控制器方法中定义视图,如果不需要我们传递数据到页面中时,我们可以通过在springmvc.xml Bean中定义【mvc:view-controller】标签,这样我们就不需要在控制器中专门定义一个方法来转发视图html页面了。

【Bean XML 中】

    <mvc:annotation-driven />
    <!--
       path:设置处理的请求地址
       view-name:设置请求地址所对应的视图名称
     -->
    <mvc:view-controller path="/" view-name="index"></mvc:view-controller>

注意:当在 Bean 中出现了view-controller标签后,SpringMVC会默认认为我们只需要 xml 配置视图转发,此时所有注解级别的转发都会失效。

mvc:annotation-driven  通过开启mvc注解驱动的标签,让 SpringMVC 同时支持 xml 配置视图,与注解配置视图。

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Java – SpringMVC视图
简介 SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为J……
<<上一篇
下一篇>>