今天弄毕设时因为前后端分离,前端React生成的是html文件,而后端是Jsp页面,需要SpringMvc配置jsp、html两个视图解析器,核心思想是继承SpringMvc给的父类,自己写一个解析类,方法如下:
第一步:继承InternalResourceView,写解析类
package com.ssm.hui.util;//这是你的包名 跟
import java.io.File;
import java.util.Locale;
import org.springframework.web.servlet.view.InternalResourceView;
/**
* @author hui
* @date 创建时间:2018年5月9日 下午5:26:55 吴清辉新建
* @version 1.0
**/
public class HtmlResourceView extends InternalResourceView {
@Override
public boolean checkResource(Locale locale) {
File file = new File(this.getServletContext().getRealPath("/") + getUrl());
return file.exists();// 判断该页面是否存在
}
}
第二步:配置xml
<!-- 定义HTML文件的位置 -->
<bean id="htmlviewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="com.ssm.hui.util.HtmlResourceView"/><!-- 改成你自己的第一步新建的解析类路径 -->
<property name="order" value="0" />
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/content/" />
<property name="suffix" value=".html" />
</bean>
<!-- 定义JSP文件的位置 -->
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="order" value="1" />
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/content/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean>