[springMVC]03.20复习springMVC视图

springMVC

SpringMVC的视图

SpringMVC中视图是View接口,视图的作用为渲染数据,将模型Model中的数据展示给用户
默认有转发视图(forward)\重定向视图(redirect)
将工程引入jstl的依赖之后,转发视图会自动转换为JstlView
但是若使用的是Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后得到的是ThymeleafView

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

此处提一下转发和重定向的区别

转发(forward):eg:你去柜台办理业务,业务不在这个窗口办理,但是柜台人员帮你去其他柜台办理了(他虽然没法处理,但是不会让你去其他窗口办理而是在他系统内部帮你处理了)这种感觉.

  1. 地址栏不会发生变化,显示的是上一个页面的地址
  2. 请求的次数只有一次
  3. 请求域中的数据不会丢失

重定向(redirect):eg:你去柜台办理业务,业务不在这个窗口办理,但是柜台人员会告诉你去其他窗口办理(servlet服务器就像这个职员,servlet做重定向时候告知浏览器,然后浏览器就只能去其他窗口办理(去请求servlet告诉另外一个地址))

  1. 显示新的地址
  2. 请求的次数为两次
  3. 请求域中的数据会丢失(2次请求)

什么时候使用转发,什么时候使用重定向

  1. 如果保留请求域中的数据的话使用转发,否则使用重定向
  2. 以后访问数据库,CUD使用重定向 R使用转发

  1. 视图控制器view-controller
    当控制器方法中,仅仅用来实现页面跳转,即只需要设置视图名称是,可以将处理器方法使用view-controller标签进行表示
<!--view-controller设置之后,其他控制器中的请求映射全部失效,需要开始mvc注解驱动-->
    <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
    <mvc:view-controller path="/test_view" view-name="test_view"></mvc:view-controller>
    <mvc:view-controller path="/test_rest" view-name="test_rest"></mvc:view-controller>

    <!--开启mvc注解驱动,让controller中的注解生效-->
    <mvc:annotation-driven/>

注意:但springMVC中设置了任意一个view-controller时候,其他controller中的请求映射全部失效,此时需要在springMVC.xml中开启mvc注解驱动,让controller中的注解生效
<mvc:annotation-driven/>

posted @   1_f  阅读(9)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示