注意:以下尝试都是使用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());
}
}
分享到:
相关推荐
Freemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+javaFreemarker模板生成pdf+java
大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出‘.doc’ word文档。经测试这样方式生成的word文档完全符合office标准,...
本主题将深入探讨如何利用Freemarker模板和wkhtmltox工具来实现这一功能。 **Freemarker模板** 是一个强大的Java模板引擎,用于动态生成文本输出,如HTML、XML或PDF。它支持变量替换、控制结构(如if/else)和复杂...
3. **易于维护**:当需要更新代码结构时,只需修改模板,所有相关的代码都会自动更新。 4. **灵活性**:Freemarker模板语言支持丰富的控制结构,可以根据不同需求定制模板,适应性强。 **四、使用方法与应用场景**...
这个“freeMarker模板文件附件.zip”压缩包包含了一些关键资源,便于学习者深入理解并实践FreeMarker模板语言的用法。 1. **FreeMarker模板语言基础** FreeMarker是基于模板的,它与Java代码分离,使得视图层的...
通过springboot 整合freemarker模板引擎,自动发送html格式邮件
4. **加载模板**:使用 FreeMarker API 加载 .ftl 文件,并创建一个 Configuration 实例,配置模板目录。 5. **合并数据模型与模板**:创建一个 `Template` 实例,然后使用 `process()` 方法将数据模型与模板合并,...
### FreeMarker模板基本语法 #### 一、FreeMarker概述与基本用法 **FreeMarker**是一种强大的、基于Java的模板引擎,主要用于动态生成HTML页面,但也支持其他类型的文本格式(如XML、JavaScript、电子邮件等)。它...
- `TemplateException`:FreeMarker在处理模板时抛出的异常,通常由语法错误或数据模型问题引起。 - `TemplateProcessingException`:在模板处理过程中发生的异常,通常涉及数据模型的访问。 6. **最佳实践** - ...
本话题主要探讨的是如何利用可视化div布局来生成FreeMarker模板,并结合Spring MVC 3框架进行应用。下面将详细阐述这些概念及其相关知识点。 1. **FreeMarker模板引擎**:FreeMarker是一个开源的Java模板引擎,它...
Java FreeMarker 模板生成Word动态表格是一种在Java开发中常用的技术,用于生成基于模板的复杂文档,特别是当需要创建包含动态数据的Word表格时。FreeMarker是一个强大的模板引擎,它与Java代码分离,允许开发者使用...
FreeMarker概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力...
2. Java代码示例,演示如何加载数据模型并使用Freemarker和Flying Saucer生成PDF。 3. EasyPOI的使用示例,包括如何添加图片、设置水印和实现分页的Excel表格。 4. 可能还有配置文件和依赖库,用于项目的构建和运行...
本示例关注的是如何使用FreeMarker模板引擎来实现这个功能,并且包含在Word文档中插入图片的能力。FreeMarker是一个强大的、轻量级的模板语言,常用于Java应用中的视图层渲染。 首先,理解FreeMarker的基本概念。...
在本项目中,`index.ftl`文件就是FreeMarker模板,它将接收到后端传来的用户数据并展示。 2. **Spring Boot**: Spring Boot是基于Spring框架的微服务开发工具,它简化了初始化、配置和运行Spring应用的过程。...
Freemarker是一个强大的开源模板引擎,常用于Java应用中生成动态HTML、XML或其他格式的文本。它允许开发者将逻辑和表现分离,使得前端设计人员可以专注于页面...记得在模板设计时保持清晰、简洁,确保易于维护和扩展。
Freemarker是一个强大的、开源的模板引擎,主要应用于Java平台,用于生成动态内容。它的工作原理是将设计人员创建的HTML或XML模板与由程序员提供的数据模型相结合,生成最终的HTML或其他格式的输出。这对于Web开发中...
本教程将探讨如何使用iText7和FreeMarker库结合,来创建一个基于模板的PDF生成流程,确保中文支持和图片的正常显示。 首先,iText7是一款强大的Java库,专门用于生成和操作PDF文档。它提供了丰富的API,可以方便地...
本主题涉及的核心技术是使用Freemarker模板引擎来生成DTO(Data Transfer Object)、DAO(Data Access Object)、RowMapper、BO(Business Object)和服务层代码。这些组件在Spring框架中扮演着重要角色。 1. **...
博客中提到的“工具”标签可能指的是IDE插件或构建工具对FreeMarker的支持,例如Eclipse的FreeMarker插件可以帮助开发者在编辑模板时获得语法高亮和错误检查。 8. **实战应用** FreeMarker常用于Spring MVC框架,...