首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在spring4中配置多个视图解析器?

在Spring 4中配置多个视图解析器可以通过以下步骤实现:

  1. 在Spring配置文件中添加视图解析器的配置。可以使用<bean>标签来定义视图解析器的实例。例如:
代码语言:xml
复制
<bean id="viewResolver1" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<bean id="viewResolver2" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/" />
    <property name="suffix" value=".html" />
</bean>

上述配置中,我们定义了两个视图解析器,分别是viewResolver1viewResolver2InternalResourceViewResolver是Spring提供的一个视图解析器实现类,用于解析JSP和HTML视图。

  1. 在控制器中返回视图名称。在控制器方法中,可以通过返回视图名称的方式来指定要使用的视图解析器。例如:
代码语言:java
复制
@Controller
public class MyController {

    @RequestMapping("/hello")
    public String hello() {
        return "hello"; // 返回视图名称
    }
}

上述代码中,控制器方法hello()返回了视图名称"hello",这个视图名称将会被视图解析器解析。

  1. 配置视图解析器的优先级。如果配置了多个视图解析器,可以通过设置order属性来指定它们的优先级。优先级越高的解析器将会先被尝试解析视图。例如:
代码语言:xml
复制
<bean id="viewResolver1" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
    <property name="order" value="1" />
</bean>

<bean id="viewResolver2" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/" />
    <property name="suffix" value=".html" />
    <property name="order" value="2" />
</bean>

上述配置中,viewResolver1的优先级为1,viewResolver2的优先级为2。当返回视图名称时,Spring会先尝试使用优先级为1的视图解析器解析视图,如果找不到对应的视图,则会尝试使用优先级为2的视图解析器解析视图。

需要注意的是,以上配置仅适用于Spring MVC框架,用于解析控制器方法返回的视图。如果是其他场景,例如在Spring Boot中配置多个视图解析器,配置方式可能会有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

《面试季》经典面试题-Spring篇(一)

8、前端控制器接收到View对象然后转发给视图(一个接口,用于渲染视图)进行数据渲染。   ...属于Sping家族的一个模块,是一个web框架,通过前端控制器、处理器映射器、处理器适配器、视图解析器等使得开发web应用变得更容易。...  3、如果指定type属性,则从容器查找类型唯一匹配的bean装配,找不到或者找到多个抛出 异常。   ...八: Spring事务的传播属性有哪些 一:定义   用于描述系统存在多个事务,且事务之间存在嵌套调用(A、B方法都开启了事务,但是在A方法调用了B方法)时事务如何传播,它的传播行为是作用嵌套的方法...,方法B嵌套A,传播行为则是作用在B方法中表示B事务的一些特性是有A决定的   事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。

97510

spring 4 升级踩雷指南

本文小结一下升级 Spring4 的连锁问题。 为什么升级 spring4 升级 Spring4 的原因是:Spring 4 以前的版本不兼容 JDK8。...支持 WebSocket、SockJS、STOMP 消息 移除 Deprecated 包和方法 一些功能加强,:核心容器、Web、Test 等等,不一一列举。...spring 的 xml 解析器在解析 xml 时,需要读取 xml schema,schema 定义了 xml 的命名空间。它的好处在于可以避免命名冲突,有点像 Java 的 package。...上面示例的 xsd 版本是 3.1.xsd ,表示 spring 的 xml 解析器会将其视为 3.1 版本的 xml 文件来处理。...当然,可能还有一些其他配置改动,这个只能说兵来将挡水来土掩,遇到了再去查官方文档吧。 加入 spring support spring 3 很多的扩展内容不需要引入support 。

2.1K90

通过SSM搭建企业开发环境

通过spring4的注解使用,可以为之后的springboot实现方式加强理解。 不多说,在构建maven项目,在pom引入 相关依赖包。...接口对应的实现类完成,我们可以对其做一些扩展,详细见下。...SpringServletContainerInitializer,也就是servlet3提供的一个接口ServletContainerInitializer,让我们能够在无web.xml的情况使用web项目,由于目前只涉及项目搭建,具体源码如何实现...ServletConfig.class}; } /* * 注册过滤器,映射路径与DispatcherServlet一致,路径不一致的过滤器需要注册到另外的WebApplicationInitializer...,注册bean,添加过滤器等,其中RootConfig对应spring上下文配置,包括数据源配置、mybatis、依赖插件、事务等的配置;ServletConfig相当于springmvc上下文,无非就是一些视图解析器

66930

Spring MVC 面试题和答案

可以支持各种视图技术,而不仅仅局限于 JSP 与 Spring 框架集成( IoC 容器、AOP 等) 清晰的角色分配:前端控制器(dispatcherServlet),请求到处理器映射(handlerMapping...因为现在我们最常用的视图是 jsp,所以它就找到 jsp 对应的视图解析器 找到这个视图解析器,它来把这个视图解析,解析完了之后它会返回一个 View 对象 最后我们再调用这个视图解析器的渲染视图这个过程...13 如何在拦截请求拦截 get 方式提交的方法?...在 @RequestMapping 注解里面加上 method=RequestMethod.GET 14 如何在方法得到 Request 或 Session?...直接在方法的形参声明 request,Spring MVC 就自动把 request 对象传入 15 如何在拦截的方法里得到从前台传入的参数?

2.2K10

SpringBoot 之Thymeleaf模板.

JSP模板不能作为通用的模板(格式化Email),也不能用于非Servlet的 Web 应用。    ...既然我们选择了这么简单的配置,那么在开发中就要遵守 SpringBoot 对 Thymeleaf 约定俗成的方案,最重要的一点就是 模板文件放在 templates 目录下,即模板解析器前缀是 /templates...,你想要更细化对 Thymeleaf 的控制,包括配置视图解析器、模板解析器以及模板引擎这些,那么请看下面的方案!.../** * 1、ThymeleafViewResolver 接收逻辑视图名称将它解析为视图 * 2、SpringTemplateEngine会在Spring启用Thymeleaf引擎,用来解析模板...*/ @Configuration public class WebConfig { /** * 配置 Thymeleaf 视图解析器 —— 将逻辑视图名称解析为 Thymeleaf

1.1K10

Spring 核心框架体系结构

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些...图中将spring分为5个部分:core、aop、data access、web、test,图中每个圆角矩形都对应一个jar,如果在maven配置,所有这些jar的“groupId”都是“org.springframework...spring-struts:与struts的集成,不推荐,spring4不再提供   它们的依赖关系 ?...spring-context-support也放在这吧 spring-test:spring测试,提供junit与mock测试功能 spring-context-support:spring额外支持包,比如邮件服务、视图解析等...到这里,spring3的介绍就完了,看着这些图我相信你在maven配置spring依赖时不会再混乱了   下面介绍spring4,与spring3结构基本相同,下面是官网给出的结构图 ?

49210

快速学习-SpringMVC概述

1.3 SpringMVC能干什么 天生与Spring框架集成,:(IOC,AOP) 支持Restful风格 进行更简洁的Web层开发 支持灵活的URL到页面控制器的映射 非常容易与其他视图技术集成,...把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;InternalResourceViewResolver将逻辑视图名映射为JSP视图 ⑤ LocalResolver:本地化...返回值会通过视图解析器解析为实际的物理视图, 对于 InternalResourceViewResolver 视图解析器, * 会做如下的解析: * 通过 prefix...需要配置映射解析器 } 编写视图 /WEB-INF/views/success.jsp Sucess Page 部署测试: http://localhost:8080/...ViewResoler视图解析器,找到ModelAndView指定的视图视图负责将结果显示到客户端

72520

Java Web 面试关于Spring MVC的必问题,不收藏血亏!

它基于接口(提供的实现类),我们可以使用自定义接口配置框架的每个部分。另一个重要的事情是我们不再依赖于特定的视图技术(例如,JSP),可以选择我们最复合业务的视图技术。...DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析; 9. ViewResolver解析后返回具体View; 10....它将方法参数或方法返回值绑定到命名的Model属性,然后将其公开给Web视图。如果我们在方法级别使用它,则表明该方法的目的是添加一个或多个模型属性。...拦截器切面处理一些公共逻辑而避免重复处理程序代码(日志记录),也可以用来更改Spring模型全局使用的参数。...通过在Spring MVC xml配置文件的标签配置。 通过`WebMvcConfigurer#addCorsMappings(CorsRegistry)`来配置

1.7K10

最新SpringMVC面试题精选

); 处理器适配器(HandlerAdapter); 视图解析器(ViewResolver)。...ViewResolver: 视图解析器,解析具体的视图 Interceptors : 拦截器,负责拦截我们定义的请求然后做处理工作 1.4 什么是DispatcherServlet?...可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器视图页面即可 3.5 Spring MVC如何拦截GET请求?...3.6 如何在方法里面得到Request,或者Session? 直接在方法的形参声明request,Spring MVC就自动把request对象传入。...3.8 SpringMVC多个参数如何优雅接收? 直接在方法声明这个对象,Spring MVC就自动会把属性赋值到这个对象里面。 3.9 Spring MVC函数的返回值是什么?

1.8K20

SpringBoot---Web开发第一部分

常用th语法 SpringBoot对SpringMVC的默认配置---WebMvcAutoConfiguration类 springBoot对视图解析器的处理 自定义的视图解析器,只要放到了容器,...便会被springboot自动使用 springboot自定义视图解析器步骤如下 springBoot的转换器和格式化器 springBoot的HttpMessageConverters(消息转换器)...SpringBoot在自动配置很多组件的时候,先看容器中有没有用户自己配置的(@Bean,@Component),如果有就用用户配置的,如果没有,才自动配置; 如果有些组件有多个(ViewResolver...对视图解析器的处理 自定义的视图解析器,只要放到了容器,便会被springboot自动使用 ---- springboot自定义视图解析器步骤如下 自定义一个自己的解析器然后注册到Bean里面 /...,我们就可以把它看做视图解析器 /*第二步:将自己写的视图解析器注册到Bean里面,它就会自动帮我们装配上*/ @Bean public ViewResolver MyViewResolver

56520

自定义SpringBoot默认MVC配置?好几个坑,这篇文章必须珍藏

本篇文章会为大家揭开谜底,在此过程也会全面讲解如何在Spring Boot项目中自定义配置WebMvc,以及这其中的很多坑。...SpringBoot自定义WebMvc Spring Boot为Spring MVC提供了默认的配置主要包括视图解析器、静态资源处理、类型转化器与格式化器、HTTP消息转换器、静态主页支持等,可谓简单易用...)//配置允许访问该跨域资源服务器的请求方法,:POST、GET、PUT、DELETE等 .allowedHeaders("*"); //配置允许请求header的访问, :X-TOKEN...{ super.addFormatters(registry); registry.addFormatter(new DateFormatter("yyyy-MM-dd")); } 视图解析器配置...重写configureViewResolvers()方法来配置视图解析器,主要是配置视图的前后缀。

3.9K54

Druid:通过 Kafka 加载流数据

在本教程,我们假设你已经按照 quickstart 文档中使用micro-quickstart单机配置所描述的下载了 Druid,并在本机运行了 Druid。你不需要加载任何数据。...data loader 会尝试自动选择正确的数据解析器。在本示例,将选择json解析器。你可以尝试选择其他解析器,看看 Druid 是如何解析数据的。...您无需在这些步骤输入任何内容,因为应用提取数据的时间变换和过滤器不在本教程范围内。 ? 在Configure schema步骤,你可以配置哪些维度和指标可以摄入 Druid。...对 schema 配置满意后,单击Next进入Partition步骤,以调整数据至 segment 的分区。 ? 在这里,您可以调整如何在 Druid 中将数据拆分为多个段。...你将进入任务视图,重点关注新创建的任务。任务视图设置为自动刷新,等待任务成功。 当一项任务成功完成时,意味着它建立了一个或多个 segment,这些 segment 将由数据服务器接收。

1.8K20

java框架之Spring 核心框架体系结构

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些...将在最后介绍 spring官网给出了一张spring3的结构图 图中将spring分为5个部分:core、aop、data access、web、test,图中每个圆角矩形都对应一个jar,如果在maven配置...l spring-webmvc:mvc实现 l spring-webmvc-portlet:基于portlet的mvc实现 l spring-struts:与struts的集成,不推荐,spring4...spring-context-support也放在这吧 l spring-test:spring测试,提供junit与mock测试功能 l spring-context-support:spring额外支持包,比如邮件服务、视图解析等...它们的依赖关系 到这里,spring3的介绍就完了,看着这些图我相信你在maven配置spring依赖时不会再混乱了 下面介绍,与spring3结构基本相同,下面是官网给出的结构图  可以看到,

88800

【Flink】第二十八篇:Flink SQL 与 Apache Calcite

词法解析器 Lexer: 词法分析是指在计算机科学,将字符序列转换为单词(Token)的过程。 3. 语法解析器 Parser: 语法解析器通常作为 编译器 或 解释器 出现。...实现这个需求,需要按照java规范,将源码的每个词法(public、class、package)、类名、包名等转换成对应的字节码。那么如何取得这些词、类名、包名、变量名呢?...、~、=、>等)、双字符(>=、<=)等 关键字,Java的class、package、import、public等 2....物化视图可以进一步扩展为 DIMMQ(Discardable, In-Memory, Materialized Query)。简单地说,DIMMQ 就是内存可丢弃的物化视图,它是高级别的缓存。...语法解析器JavaCC .jj 模板文件 -> 生成解析器代码文件 .java 在Flink源码工程的体现: 工程机理: 例如,Flink SQL的 WATERMARK FOR AS

2.2K30

springboot原理详解_Spring Boot

一个框架往往可以用来开发一种服务,实现一项业务功能,但一个完整的项目是包含多个服务多个业务功能的,实际开发我们往往需要用到多个框架,从而产生了一个“框架整合”的问题!...通常该字符串的值表示我们要跳转的页面,可能只包含页面名称(”index”),这种方式一般是配置视图解析器前后缀,并且以转发形式进行跳转;除此以外,还可以重定向方式来跳转(“redirect:/index.html...本项目中有五个视图解析器遍历找到了第一个ContentNegotiationViewResolver。它比较特殊,里面包含了下面四个视图解析器,内部还是遍历下面所有视图解析器判断哪个可解析。...解析视图名、创建视图、加载视图,并检查视图资源存在,即最后解析结果不为空时才将当前视图解析器解析的视图加入到候选列表。    ...同样是自动配置类注入的,且为了解析该View,还注入了视图名称解析器(按照返回的视图名作为组件的id去容器找View对象。)

1.9K30

Spring MVC请求流程

具体步骤: 首先用户发送请求到前端控制器,前端控制器根据请求信息( URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的 1、2 步骤; 页面控制器接收到请求后...向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor...执行完成给适配器返回ModelAndView 处理器适配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一个底层对象,包括 Model和view) 前端控制器请求视图解析器去进行视图解析...(根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可 视图解析器向前端控制器返回View 前端控制器进行视图渲染 (视图渲染将模型数据(在ModelAndView...注:处理器映射求和适配器使用纾解的话包含在了注解驱动,不需要在单独配置 ViewResolver 的配置,从而将逻辑视图名解析为具体视图技术 处理器(页面控制器)的配置,从而进行功能处理 View是一个接口

73410

Java EE之SSM框架整合开发 -- (9) Spring MVC入门

ViewResolver接口(视图解析器)在Web应用负责查找View对象,从而将相应结果渲染给客户。...,该配置文件的命名规则是“servletName-servlet.xml”,:springmvc-servlet.xml。...View接口的主要作用是用于处理视图,然后返回给客户端。 SpringMVC视图解析器解析流程: 1、将SpringMVC控制器的返回结果封装成一个ModelAndView对象。...2、通过SpringMVC视图解析器,使用ViewResolver对控制器返回的ModelAndView对象进行解析,将逻辑视图转换成物理视图。...3、调用View的render()方法对物理视图进行渲染。 下面我们将上一小节的例子做个更改,在servletName-servlet.xml增加一个视图解析器: <!

93350
领券