| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
11年前发布

SpringMVC的Freemarker模板异常配置

1、spring mvc的异常配置

    spring mvc 提供了SimpleMappingExceptionResolver来处理异常,这里的只是由web 请求,经由controller引发的异常,无法处理freemarker的异常

 

2、freemarker自定义异常

/**   * freemarker页面上的异常控制   * 在webmvc-config.xml里面的freemarkerSettings里头配置   * @author scipio   * @created 2014-02-01   */  public class FreemarkerExceptionHandler implements TemplateExceptionHandler {      private static final Logger log = LoggerFactory              .getLogger(FreemarkerExceptionHandler.class);        public void handleTemplateException(TemplateException te, Environment env,                                          Writer out) throws TemplateException {                log.warn("[Freemarker Error: " + te.getMessage() + "]");              throw new ViewException("freemarker error",te);      }  }

 

  这里重新包装异常抛出(这种方式要求比较严格,因为freemarker对个别的错误,比如某个变量没有定义,可以忽略,只是后台抛异常,然后整个页面还是会渲染出来)

 

3、配置HtmlFreeMarkerConfigurer

 <bean id="freemarkerConfig" class="com.sankuai.meituan.mtct.web.HtmlFreeMarkerConfigurer">          <property name="templateLoaderPath" value="/WEB-INF/views/"/>          <property name="freemarkerSettings">              <props>                  <prop key="template_update_delay">0</prop>                  <prop key="default_encoding">UTF-8</prop>                  <prop key="locale">zh_CN</prop>                  <prop key="url_escaping_charset">UTF-8</prop>                  <prop key="whitespace_stripping">true</prop>                  <prop key="number_format">#</prop>                  <!-- 配置自定义的freemarker异常处理-->                  <prop key = "template_exception_handler">com.persia.exception.FreemarkerExceptionHandler</prop>              </props>          </property>      </bean>

 

4、针对该异常,配置web.xml

 

<!--配置freemarker异常-->      <error-page>          <exception-type>com.persia.exception.ViewException</exception-type>          <location>/WEB-INF/views/error/viewException.ftl</location>      </error-page>

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1392686302256.html
SpringMVC Spring MVC Web框架