[springMVC]03.20复习springMVC视图
springMVC
SpringMVC的视图
SpringMVC中视图是View接口,视图的作用为渲染数据,将模型Model中的数据展示给用户
默认有转发视图(forward)\重定向视图(redirect)
将工程引入jstl的依赖之后,转发视图会自动转换为JstlView
但是若使用的是Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后得到的是ThymeleafView
- ThymeleafView
当控制器方法中所设置的视图名称没有任何前缀的时候,此时的视图名称会被springMVC.xml所配置的视图解析器所解析,然后拼接前后缀得到最终路径,通过转发的方式实现跳转
此处提一下转发和重定向的区别
转发(forward):eg:你去柜台办理业务,业务不在这个窗口办理,但是柜台人员帮你去其他柜台办理了(他虽然没法处理,但是不会让你去其他窗口办理而是在他系统内部帮你处理了)这种感觉.
- 地址栏不会发生变化,显示的是上一个页面的地址
- 请求的次数只有一次
- 请求域中的数据不会丢失
重定向(redirect):eg:你去柜台办理业务,业务不在这个窗口办理,但是柜台人员会告诉你去其他窗口办理(servlet服务器就像这个职员,servlet做重定向时候告知浏览器,然后浏览器就只能去其他窗口办理(去请求servlet告诉另外一个地址))
- 显示新的地址
- 请求的次数为两次
- 请求域中的数据会丢失(2次请求)
什么时候使用转发,什么时候使用重定向
- 如果保留请求域中的数据的话使用转发,否则使用重定向
- 以后访问数据库,CUD使用重定向 R使用转发
- 视图控制器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/>
分类:
SSM框架
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决