在项目中,会遇到用SpringMVC跳转多种页面,例如JSP,HTML
平时配置JSP的配置方式:
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp"></property> <property name="order" value="1"></property> </bean>
现在增加一种跳转HTML配置:
第一步,新建一个HTML的解析器并继承 InternalResourceView 后重写 checkResource
package com.ucap.util; import java.io.File; import java.util.Locale; import org.springframework.web.servlet.view.InternalResourceView; public class HtmlResourceView extends InternalResourceView { @Override public boolean checkResource(Locale locale) { File file = new File(this.getServletContext().getRealPath("/") + getUrl()); return file.exists();// 判断该页面是否存在 } }
第二步,在配置文件里面增加一个bean
<bean id="htmlViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="com.ucap.util.HtmlResourceView"/><!--指定html的解析器--> <property name="prefix" value="/html/" /> <property name="suffix" value=".html"></property> <property name="order" value="0"></property> </bean>
经测试,必须设置html解析器为最优先,order=0 ,不然不生效。
转载请注明:努力奋斗 » SpringMVC 配置多个ViewResolver