Spring MVC入门(五):视图


  • 视图简介
SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户
SpringMVC视图的种类很多,默认有转发视图和重定向视图
当工程引入jstl的依赖,转发视图会自动转换为JstlView
若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视
图解析器解析之后所得到的是ThymeleafView
  • ThymeleafView
# 前端控制器解析后,返回到success页面
@RequestMapping("/testThymeleafView")
public String testThymeleafView(){
    return "success";
}

# http://localhost:8080/上下文路径/testThymeleafView
  • 转发视图
SpringMVC中默认的转发视图是InternalResourceView
SpringMVC中创建转发视图的情况:
当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视
图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部
分作为最终路径通过转发的方式实现跳转
  • 案例
@RequestMapping("/testForward")
public String testForward(){
    return "forward:/testThymeleafView";
}

# http://localhost:8080/上下文路径/testForward
  • 重定向视图
SpringMVC中默认的重定向视图是RedirectView
当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不
会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最
终路径通过重定向的方式实现跳转
  • 案例
@RequestMapping("/testRedirect")
public String testRedirect(){
    return "redirect:/testThymeleafView";
}

# http://localhost:8080/上下文路径/testRedirect
  • 视图控制器view-controller
当控制器方法中,仅仅用来实现页面跳转,即只需要设置视图名称时,可以将处理器方法使用viewcontroller标签进行表示
  • springmvc配置文件中配置如下
# 表示访问/路径时就会经过前端控制器的解析,解析后找到指定路径下的index.html
# 同时需要配置mvc注解驱动,否则其他控制器中的请求映射将全部失效





  • 测试

  • jsp中使用springmvc,新建maven项目,配置web.xml

# 控制层
@Controller
public class JspController {

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

}

# springmvc配置文件
<?xml version="1.0" encoding="UTF-8"?>


    

    
        
        
    



# success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


成功



# index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


首页
success.jsp # web.xml <?xml version="1.0" encoding="UTF-8"?> CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceResponseEncoding true CharacterEncodingFilter /* DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springMVC.xml 1 DispatcherServlet /
  • 测试