SpringMVC 配置多个ViewResolver – 努力奋斗
  进步,意味着目标不断前移,阶段不断更新,它的视野不断变化。

SpringMVC 配置多个ViewResolver

工作 茳先生 103℃ 0评论

在项目中,会遇到用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

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址