需求:springmvc配置项目同时支持跳转jsp和HTML页面,如果存在同名的文件优先跳转jsp页面。
1.配置HtmlResourceView,创建类
package com.ssm;
import org.springframework.web.servlet.view.InternalResourceView;
import java.io.File;
import java.util.Locale;
public class HtmlResourceView extends InternalResourceView {
@Override
public boolean checkResource(Locale locale){
File file=new File(this.getServletContext().getRealPath("/")+getUrl());
return file.exists(); //判断页面是否存在
}
}
2.配置springmvc.xml文件
其中order代表优先级, 越小代表级别越高,如果有同名的文件优先查找优先级高的。
<!-- jsp配置-->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />-->
<property name="viewClass" value="com.ssm.HtmlResourceView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
<property name="order" value="1" />
</bean>
<!--html配置-->
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="com.ssm.HtmlResourceView"/>
<property name="order" value="2" />
<property name="prefix" value="/"/>
<property name="suffix" value=".html" />
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
3.测试查看效果
在项目中建立mb文件夹,文件夹下设置mbindex.html和mbindex.jsp文件,通过controller浏览器访问如下:
controlle:
浏览器访问: