Java打怪之路----SpringMVC框架之视图

(一)Thymeleaf视图

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

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

(二)转发视图

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

    @RequestMapping("/testForward")
    public String testForward(){
        //这里转发也只能转发到一个请求而不能转发的具体的html页面
        //因为HTML页面需要被thymeleaf解析
        return "forward:/TestThymeleafView";
    }

注意:其中的注释需要注意,无法转发到具体页面

(三)重定向视图

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

    @RequestMapping("/testRedirect")
    public String testRedirct(){
        //这里重定向也只能转发到一个请求而不能重定向的具体的html页面
        //因为HTML页面需要被thymeleaf解析
        return "redirect:/TestThymeleafView";
    }

(四)请求转发与重定向的区别

  1. 从表象来看,请求转发是一次请求(浏览器一次,服务器内部一次),地址栏不会发生改变,而重定向是两次请求(浏览器两次),地址栏发生改变。
  2. 从共享域对象来看:请求转发可以共享request域中的对象,因为就一次请求。而重定向无法共享request域中的对象,因为是两次请求。
  3. 从访问内容来看:请求转发可以访问web-inf中的资源而重定向不能访问,但重定向可以跨域访问,访问外部资源而请求转发不能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值