多视图解析器的配置
问题:
视图解析器指的是Controler处理完请求,返回给系统的View名。那这个执行流程和具体配置怎么来玩呢?还有多视图配置等等
定义:
视图解析器: 视图解析器通过名字来解析视图,springmvc内置的视图识别,然后跳转到相应的页面进行友好展示。
常用的视图解析器:

(我是通过源码查看的视图解析器,比这些要全面:)

具体怎么实现可以追一下源码
多视图解析器的配置:
先引入我的配置文件信息:
<!--===============通用视图解析器 begin===============-->
<!--视图解析器一 处理jsp -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--注入的任何bean的id保证唯一 -->
<property name="prefix" value="/WEB-INF/view/" /> <!-- 默认的前缀-->
<property name="suffix" value=".jsp" /><!-- 后缀-->
<property name="viewClass"><!-- 这个玩意可以不指定,他就会默认使用默认的视图解析类,默认解析.jsp后缀-->
<value>org.springframework.web.servlet.view.InternalResourceView
</value>
</property>
<property name="order" value="1" /><!--多试图解析器的必须写的参数 也是视图解析器的优先等级。值越小 越优先执行-->
</bean>
<!--视图解析器一 处理freeMarker -->
<!-- 配置freeMarker视图解析器 -->
<bean id="viewResolverFtl"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="viewClass" value="com.huhy.freemarker.extend.FreeMarkerViewExtend" />
<!-- 把Freemarker 扩展一下,把相关属性加入进去。。。 -->
<property name="contentType" value="text/html; charset=utf-8" />
<property name="cache" value="true" />
<property name="suffix" value=".ftl" />
<property name="order" value="0" /> <!--多试图解析器的必须写的参数 也是视图解析器的优先等级。值越小 越优先执行-->
</bean>
<!-- 配置freeMarker 配置-->
<bean id="freemarkerConfig"
class="com.huhy.freemarker.extend.FreeMarkerConfigExtend">
<property name="templateLoaderPath">
<value>/WEB-INF/ftl/</value> <!--也可以把value标签去了-->
</property>
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
<entry key="api" value-ref="api"/>
</map>
</property>
<property name="defaultEncoding">
<value>utf-8</value>
</property>
<property name="freemarkerSettings">
<props>
<prop key="defaultEncoding">UTF-8</prop>
<prop key="url_escaping_charset">UTF-8</prop>
<prop key="locale">zh_CN</prop>
<prop key="boolean_format">true,false</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="number_format">#</prop>
<prop key="whitespace_stripping">true</prop>
</props>
</property>
</bean>
<!--===============通用视图解析器 end===============-->
模拟两个请求:
/user/a
/person/b
先默认在ftl找,再到jsp中查询 最后没有返回404错误页面 具体代码不贴了
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/7998278.html

浙公网安备 33010602011771号