1. 首页
  2. 软件开发
  3. SpringMVC——视图控制器和视图解析器

SpringMVC——视图控制器和视图解析器

  • 发布于 2024-08-17
  • 0 次阅读

在Spring MVC中,视图控制器和视图解析器是两个关键的组件,用于帮助控制器选择合适的视图以渲染用户界面。

  1. 视图控制器(View Controller)
    视图控制器用于将请求路径映射到具体的视图,简化了配置和处理请求的过程。通过视图控制器,可以直接将请求路径与视图的映射关系配置在Spring MVC中,而无需在控制器方法中做处理。

代码如下:

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;

@Configuration
public class MvcConfig implements WebMvcConfigurer {
   

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
   
        registry.addViewController("/home").setViewName("home");
        registry.addViewController("/login").setViewName("login");
    }
}

addViewControllers 方法通过 ViewControllerRegistry 将"/home"路径映射到"home"视图,将"/login"路径映射到"login"视图。

  1. 视图解析器(View Resolver)
    视图解析器用于将逻辑视图名称解析为具体的视图对象,从而渲染用户界面。它可以根据配置的规则找到对应的视图对象,比如JSP、Thymeleaf等。

代码如下:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
public class MvcConfig {
   

    @Bean
    public ViewResolver viewResolver() {
   
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

InternalResourceViewResolver 将逻辑视图名称解析为JSP视图,前缀为"/WEB-INF/views/",后缀为".jsp"。

原文链接: https://blog.csdn.net/2401_82884096/article/details/137975366