`
zhangjian1938
  • 浏览: 1966 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何当freemarker模板出现错误时屏蔽错误并跳转

阅读更多
注意:以下尝试都是使用spring2.5及以上版本
   在日常的开发过程中,对错误信息的合理处理都是很重要的一个环节,特别对于门户系统,其重要性就不言而喻了

然而我们在实际的开发过程中,要想错误提示明确、又要想客户不至于太反感,看似矛盾的问题我们怎么处理呢?

  大多数系统都是采用一检测到错误,统一跳转到统一的错误页面,然后统一去做处理,但是那种错误检测仅仅是处理大部分的错误,如java.sql.SQLException、java.lang.RuntimeException,但是对于使用freemarker模板语言的系统来说,其支持不是很好(我尝试把freemarker.template.TemplateException等异常加入到其检测机制中,发现没有作用,只好改用其实现方法)。通过查询freemarker、spring的api获知,freemarker提供了一个支持其错误处理机制的接口TemplateExceptionHandler,需要自己去扩展实现,构造自己的处理freemarker模板错误的机制

主要分为两个部分 1、构造自己的错误处理机制

                                  2、在spring启动的时候将自定义的错误机制加入到freemarker配置中

具体做法如下:

     1、新建一个类,让其实现TemplateExceptionHandler接口

     public class LenovoFreemarkerExceptionHandler implements TemplateExceptionHandler{

      public void handleTemplateException(TemplateException arg0,
       Environment arg1, Writer out) throws TemplateException {
          //这里构建你的错误机制,可以进行跳转及错误日志的打印等等

  }

}

     2、新建一个类,让其继承FreeMarkerConfigurer

  public class LenovoFreemarkerConfigration extends FreeMarkerConfigurer  {
     @Override
    public void afterPropertiesSet() throws IOException, TemplateException {
      if (getConfiguration() == null) {
           setConfiguration(createConfiguration());
      }
      getConfiguration().setTemplateExceptionHandler(new LenovoFreemarkerExceptionHandler());
}
}
分享到:
评论
1 楼 heqishengcai 2010-09-29  
对我有用。既然楼主发现exception handle了,就省的我们再找了。
为了尊敬您的工作,特此留言
对楼主的分享精神表示感谢。

相关推荐

    Freemarker模板生成pdf+java

    Freemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+java

    freemarker模板技术生成复杂word文档---解决了编码问题

    大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出‘.doc’ word文档。经测试这样方式生成的word文档完全符合office标准,...

    通过freemarker模板 生成PDF

    本主题将深入探讨如何利用Freemarker模板和wkhtmltox工具来实现这一功能。 **Freemarker模板** 是一个强大的Java模板引擎,用于动态生成文本输出,如HTML、XML或PDF。它支持变量替换、控制结构(如if/else)和复杂...

    基于Freemarker模板的代码生成器工具

    3. **易于维护**:当需要更新代码结构时,只需修改模板,所有相关的代码都会自动更新。 4. **灵活性**:Freemarker模板语言支持丰富的控制结构,可以根据不同需求定制模板,适应性强。 **四、使用方法与应用场景**...

    freeMarker模板文件附件.zip

    这个“freeMarker模板文件附件.zip”压缩包包含了一些关键资源,便于学习者深入理解并实践FreeMarker模板语言的用法。 1. **FreeMarker模板语言基础** FreeMarker是基于模板的,它与Java代码分离,使得视图层的...

    SpringBoot使用FreeMarker模板发送邮件

    通过springboot 整合freemarker模板引擎,自动发送html格式邮件

    java使用freemarker模板技术导出word

    4. **加载模板**:使用 FreeMarker API 加载 .ftl 文件,并创建一个 Configuration 实例,配置模板目录。 5. **合并数据模型与模板**:创建一个 `Template` 实例,然后使用 `process()` 方法将数据模型与模板合并,...

    FreeMarker模板基本语法

    ### FreeMarker模板基本语法 #### 一、FreeMarker概述与基本用法 **FreeMarker**是一种强大的、基于Java的模板引擎,主要用于动态生成HTML页面,但也支持其他类型的文本格式(如XML、JavaScript、电子邮件等)。它...

    FreeMarker模板语言API

    - `TemplateException`:FreeMarker在处理模板时抛出的异常,通常由语法错误或数据模型问题引起。 - `TemplateProcessingException`:在模板处理过程中发生的异常,通常涉及数据模型的访问。 6. **最佳实践** - ...

    可视化div布局 生成freemarker模板

    本话题主要探讨的是如何利用可视化div布局来生成FreeMarker模板,并结合Spring MVC 3框架进行应用。下面将详细阐述这些概念及其相关知识点。 1. **FreeMarker模板引擎**:FreeMarker是一个开源的Java模板引擎,它...

    Java freemarker 模板生成word动态表格

    Java FreeMarker 模板生成Word动态表格是一种在Java开发中常用的技术,用于生成基于模板的复杂文档,特别是当需要创建包含动态数据的Word表格时。FreeMarker是一个强大的模板引擎,它与Java代码分离,允许开发者使用...

    FreeMarker模板设计指南

    FreeMarker概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力...

    利用freemarker 模板生成pdf ,利用easypoi 生成excel(带图片,水印,分页)

    2. Java代码示例,演示如何加载数据模型并使用Freemarker和Flying Saucer生成PDF。 3. EasyPOI的使用示例,包括如何添加图片、设置水印和实现分页的Excel表格。 4. 可能还有配置文件和依赖库,用于项目的构建和运行...

    java通过freemarker模板导出word含图片

    本示例关注的是如何使用FreeMarker模板引擎来实现这个功能,并且包含在Word文档中插入图片的能力。FreeMarker是一个强大的、轻量级的模板语言,常用于Java应用中的视图层渲染。 首先,理解FreeMarker的基本概念。...

    使用freeMarker模板和Spring boot后端API接口实现查询用户列表的功能。

    在本项目中,`index.ftl`文件就是FreeMarker模板,它将接收到后端传来的用户数据并展示。 2. **Spring Boot**: Spring Boot是基于Spring框架的微服务开发工具,它简化了初始化、配置和运行Spring应用的过程。...

    freemarker模板使用

    Freemarker是一个强大的开源模板引擎,常用于Java应用中生成动态HTML、XML或其他格式的文本。它允许开发者将逻辑和表现分离,使得前端设计人员可以专注于页面...记得在模板设计时保持清晰、简洁,确保易于维护和扩展。

    freemarker模板引擎

    Freemarker是一个强大的、开源的模板引擎,主要应用于Java平台,用于生成动态内容。它的工作原理是将设计人员创建的HTML或XML模板与由程序员提供的数据模型相结合,生成最终的HTML或其他格式的输出。这对于Web开发中...

    基于itext7+freemarker模板导出pdf

    本教程将探讨如何使用iText7和FreeMarker库结合,来创建一个基于模板的PDF生成流程,确保中文支持和图片的正常显示。 首先,iText7是一款强大的Java库,专门用于生成和操作PDF文档。它提供了丰富的API,可以方便地...

    Java利用Freemarker模板自动生成dto、dao、rowmapper、bo、service代码

    本主题涉及的核心技术是使用Freemarker模板引擎来生成DTO(Data Transfer Object)、DAO(Data Access Object)、RowMapper、BO(Business Object)和服务层代码。这些组件在Spring框架中扮演着重要角色。 1. **...

    初试FreeMarker模板的一些问题

    博客中提到的“工具”标签可能指的是IDE插件或构建工具对FreeMarker的支持,例如Eclipse的FreeMarker插件可以帮助开发者在编辑模板时获得语法高亮和错误检查。 8. **实战应用** FreeMarker常用于Spring MVC框架,...

Global site tag (gtag.js) - Google Analytics