微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springmvc的视图

springmvc的视图

在SpringMVC中的视图实现View接口,视图的作用是渲染数据,将模型Model中的数据展示给用户

SpringMVC中视图的种类很多,认有转发视图(internalResourceView)和重定向视图(RedirectView)两种。
但当我们的工程引入jstl的依赖的时候,转发视图会自动转换为JstlView。
当我们使用Thymeleaf技术的时候,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后得到的是ThymeleafView。

thymeleafview

thymeleaf是一个视图解析器,它可以解析springmvc中的model中的数据来发送给用户,当不存在前缀的时候解析的视图就是thymeleafview

package com.jin.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping("/testThymeleafview")
    public String test1(){
        return "success";
    }
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a th:href="@{/testThymeleafview}">测试thymeleafview</a>
</body>
</html>

重新部署tomcat,然后点击超链接

在这里插入图片描述

这是当没有前缀时候的视图解析

internalResourceView(转发视图)

给返回的值添加一个forward前缀,实现internalResourceview

package com.jin.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping("/testForword")
    public String test2(){
        return "forward:/testThymeleafview";
    }
}
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a th:href="@{/testForword}">测试internalResourceview</a>
</body>

在这里插入图片描述

可以发现跳转的是第一个页面,但是上面的连接依然是testForword而不是testThymeleafview,可知实现了视图的转发

RedirectView

实现的是视图的重定向,前缀为redirect


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestController {
    @RequestMapping("/testRedirect")
    public String test3(){
        return "redirect:/testThymeleafview";
    }
}

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <Meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a th:href="@{/testRedirect}">测试redirect</a>
</body>
</html>

点击超链接

在这里插入图片描述

可以发现连接栏里面的链接不是testRedirect而是testThymeleafview,实现了重定向

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐