网站推广如何做的,网站建设600元全包,移动应用开发好就业吗,企业网站在哪里建SSH2处理方案#xff1a; freemarker文件如果出错#xff0c;网站的前台页面会报出很明显的错误-焦黄的背景#xff0c;血红的文字#xff0c;很不利于用户体验的。如何修改这个问题呢#xff1f;首先需要在struts.xml配置文件里添加下面一行代码#xff1a; 1consta…SSH2处理方案 freemarker文件如果出错网站的前台页面会报出很明显的错误-焦黄的背景血红的文字很不利于用户体验的。如何修改这个问题呢首先需要在struts.xml配置文件里添加下面一行代码 1 constant namestruts.freemarker.manager.classname valuenet.swiftlet.freemarker.MyFreemarkerManager / 接着新建MyFreemarkerManager类如下所示 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public class MyFreemarkerManager extends org.apache.struts2.views.freemarker.FreemarkerManager { private static final Logger LOG LoggerFactory.getLogger(MyFreemarkerManager.class); public void init(ServletContext servletContext) throws TemplateException { config createConfiguration(servletContext); config.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); contentType DEFAULT_CONTENT_TYPE; wrapper createObjectWrapper(servletContext); if (LOG.isDebugEnabled()) { LOG.debug(Using object wrapper of class wrapper.getClass().getName()); } config.setObjectWrapper(wrapper); templatePath servletContext.getInitParameter(INITPARAM_TEMPLATE_PATH); if (templatePath null) { templatePath servletContext.getInitParameter(templatePath); } configureTemplateLoader(createTemplateLoader(servletContext, templatePath)); loadSettings(servletContext); } } SpringMVC-Freemarker异常配置 1、spring mvc的异常配置 spring mvc 提供了SimpleMappingExceptionResolver来处理异常这里的只是由web 请求经由controller引发的异常无法处理freemarker的异常 2、freemarker自定义异常 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /** * 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 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 bean idfreemarkerConfig classorg.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer property nametemplateLoaderPath value/WEB-INF/views// property namefreemarkerSettings props prop keytemplate_update_delay0/prop prop keydefault_encodingUTF-8/prop prop keylocalezh_CN/prop prop keyurl_escaping_charsetUTF-8/prop prop keywhitespace_strippingtrue/prop prop keynumber_format#/prop !-- 配置自定义的freemarker异常处理-- prop key template_exception_handlercom.persia.exception.FreemarkerExceptionHandler/prop /props /property /bean 4、针对该异常配置web.xml 1 2 3 4 5 !--配置freemarker异常-- error-page exception-typecom.persia.exception.ViewException/exception-type location/WEB-INF/views/error/viewException.ftl/location /error-page 转载于:https://www.cnblogs.com/cz-xjw/p/4987232.html