Spring web MVC 框架之 视图解析器(ViewResolver)
来源:互联网 发布:屏幕右下角激活windows 编辑:程序博客网 时间:2024/05/24 02:14
我们知道,ViewResolver即视图解析器,当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个使用基于XML文件中的视图bean的解析器来解析“逻辑视图名称”
看如如下控制器代码: @RequestMapping("/testViewResolver")
public ModelAndView testViewResolverl(){
logger.info("");
return new ModelAndView("ViewResolver");
}
“逻辑视图名称”即是ViewResolver,当我们返回视图时,DispacherServlet进行加载默认的InternalResourceViewResolver进行解析,
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF//views/"/>
<property name="suffix" value=".jsp"/>
我们经常使用的viewResolver有以下四种
在说一下使用BeanNameViewResolver解析器:
<bean class=”org.springframework.web.servlet.view.BeanNameViewResolver”> <property name="order" value="1"></property> </bean> <bean id="ViewResolver" class="com.unmi.controller.ViewResolver"/>
返回“ViewResolver”时候,就会解析class包名下的javabean文件。XmlViewResolver 和 ResoureBundlerViewResolver 就不说了,原理是一样,区别只在它们从哪儿获得视图实现,看情况而定。
还有就是当我们使用多个解析器进行解析时候,
<!-- InternalResourceViewResolver解析 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!-- BeanBameResourceViewResolver解析 --> <bean class=”org.springframework.web.servlet.view.BeanNameViewResolver”> <property name="order" value="3"></property> </bean> <bean id="ViewResolver" class="com.unmi.controller.ViewResolver"/> <!-- XmlResourceViewResolver解析 --> <bean class=”org.springframework.web.servlet.view.XmlViewResolver”> <property name="order" value="1"></property> <property name="location" value="WEB-INF/views.xml"></property> </bean><!-- ResourceBundleViewResolver解析 --><bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename"><value>views</value></property> <property name="location" value="WEB-INF/views.properties"></property> <property name="order" value="2"></property> </bean>
这里有一个问题,这么多的解析器,谁先进行解析呢?
在代码中加<property name="order" value="1"></property> ,因为DispatcherServlet会加载所有的viewResolver到一个list中,并按照优先级高到低进行解析。注意*order中的值越小,优先级越高* 同时也说明了为什么InternalResourceViewResolver是默认(order值为max)的了。
- Spring web MVC 框架之 视图解析器(ViewResolver)
- Spring Web MVC 多viewResolver视图解析器解决方案
- Spring MVC 4之ViewResolver视图解析器
- Spring MVC 4之ViewResolver视图解析器
- 详解Spring MVC 4之ViewResolver视图解析器
- 详解Spring MVC 4之ViewResolver视图解析器
- Spring MVC 视图解析器(ViewResolver )
- Spring MVC 视图解析器(ViewResolver )
- Spring MVC 视图解析器(ViewResolver )
- Spring mvc ViewResolver视图解析器实现机制
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- Spring MVC中的视图解析ViewResolver
- SpringMVC之视图解析器(ViewResolver)
- 线程同步 事件 Event 内核对象 CreateEvent
- PASSION之Mysql集群(二)
- 安卓弹出对话框——Alertdialog(一)
- QT5入门之27 -QPushButton
- 黑马程序员——异常
- Spring web MVC 框架之 视图解析器(ViewResolver)
- 【Oracle】Oracle ora-28056 、 ORA-01034 、 ORA-27101问题解决
- CS1061: “ASP.send_aspx”不包含“sender_TextChanged”的定义,并且找不到可接受类型为“ASP.send_aspx”的第一个参数的扩展方法“sender_Text
- Openfire 服务器更换ip后的恢复方法
- java实现将整数转化为中文大写金额
- Android开发之制作带圆角的矩形按钮
- iOS中autolayout的简单使用
- 如何在android平台上实现语音识别
- java读取properties文件的几种方法