/** * FreeMarker 模版引擎工具类 * * @version 1.0 */ public class FreeMarkerUtils { /** * 执行动态模版 * @param templateName * 模版名称 * @param templateContent * 模版内容 * @param encoding * 编码格式 * @param data * 数据集 * @return * @throws Exception */ public static String executeFreeMarkerFromStringTemplate(String templateName,String templateContent,String encoding, Map<String,Object> data) throws Exception{ String result = ""; Writer out = null; try{ Configuration cfg = new Configuration(); if(data==null) data=new HashMap<String, Object>(); data.put("DateMethodUtil", new DateMethod()); out = new StringWriter(2048); StringTemplateLoader stringLoader = new StringTemplateLoader(); stringLoader.putTemplate(templateName,templateContent); cfg.setTemplateLoader(stringLoader); Template temp = cfg.getTemplate(templateName, encoding); temp.process(data, out); out.flush(); result = out.toString(); }catch (Exception e) { throw e; }finally{ out.close(); } return result; } /** * 日期运算函数 * */ public static class DateMethod implements TemplateMethodModelEx{ @SuppressWarnings("rawtypes") public Object exec(List arguments) throws TemplateModelException { Date date = ((SimpleDate) arguments.get(0)).getAsDate(); String type = arguments.get(1).toString(); Integer num = ((SimpleNumber)arguments.get(2)).getAsNumber().intValue(); Calendar localCalendar = Calendar.getInstance(); localCalendar.setTime(date); if("d".equalsIgnoreCase(type)){ int i = localCalendar.get(Calendar.DATE); localCalendar.set(Calendar.DATE, i + num); }else if("m".equalsIgnoreCase(type)){ int i = localCalendar.get(Calendar.MONTH); localCalendar.set(Calendar.MONTH, i + num); }else if("y".equalsIgnoreCase(type)){ int i = localCalendar.get(Calendar.YEAR); localCalendar.set(Calendar.YEAR, i + num); } return localCalendar.getTime(); } } }
相关推荐
Freemarker是一个强大的、开源的模板引擎,主要应用于Java平台,用于生成动态内容。它的工作原理是将设计人员创建的HTML或XML模板与由程序员提供的数据模型相结合,生成最终的HTML或其他格式的输出。这对于Web开发中...
FreeMarker是一个强大的、基于模板的Java模板引擎,广泛用于生成动态内容,如HTML、XML或其他任何文本格式。本项目以"使用FreeMarker模版引擎自动生成Java项目源代码"为主题,旨在展示如何利用FreeMarker自动化生成...
FreeMarker作为一个模板引擎,允许用户在模板中嵌入指令代码,这些代码在模板被处理时执行,并生成最终的文本文件。 在FreeMarker模板中,特定的变量和指令被大括号${}包围。例如,若模板中有${obj.newsTitle}这样...
本主题涉及的核心技术是使用Freemarker模板引擎来生成DTO(Data Transfer Object)、DAO(Data Access Object)、RowMapper、BO(Business Object)和服务层代码。这些组件在Spring框架中扮演着重要角色。 1. **...
Freemarker模板是一种强大的、基于Java的开源模板引擎,用于生成动态内容。它主要用于Web应用程序,尤其是与Spring框架集成时,但也可用于任何需要将数据模型转化为文本输出的场景,如电子邮件生成、报告制作等。在...
Freemarker是一个强大的Java模板引擎,它主要用于生成动态内容,比如HTML、XML或者Word文档。在Web开发中,Freemarker常被用作MVC模式中的视图层,与Spring等框架结合,帮助开发者根据数据模型自动生成页面。在这个...
Freemarker是一个强大的开源模板引擎,常用于Java应用中生成动态HTML、XML或其他格式的文本。它允许开发者将逻辑和表现分离,使得前端设计人员可以专注于页面布局,而程序员则处理业务逻辑。在这个"freemarker模板...
FreeMarker是一个强大的、开源的Java模板引擎,常用于Web应用中的动态内容生成,尤其是在MVC架构中,作为视图层的技术。它与JSP、JSTL等技术不同,FreeMarker是模型和视图完全分离的,使得开发者可以专注于业务逻辑...
FreeMarker是一个强大的、开源的模板引擎,主要用于生成动态HTML、XML或其他任何文本格式的文档。在Java环境中,它被广泛应用于Web开发,特别是在MVC(Model-View-Controller)架构中,作为视图层的技术。这篇名为...
在这个场景下,我们主要关注的是使用Freemarker作为模板引擎,结合Struts2框架来实现这一功能。 **Freemarker模板引擎** Freemarker是一个强大的、开源的模板语言,常用于Java应用中的视图层。它的主要任务是将...
FreeMarker是一个强大的、开源的Java模板引擎,常用于Web应用中的动态内容生成,尤其是在MVC(Model-View-Controller)架构中,它作为View层的实现。FreeMarker与Spring、Struts等框架集成良好,允许开发者将业务...
在这个项目中,"SSH项目 有Freemarker模版" 意味着它采用了Struts2作为MVC框架,Spring作为依赖注入容器和服务层管理,Hibernate作为对象关系映射工具,同时利用了Freemarker作为模板引擎来渲染前端视图。...
Freemarker是一个强大的模板引擎,常用于生成动态HTML、XML或其他文本格式的文件,尤其在Java Web开发中广泛应用。此“freemarker-2.3.30模板word导出.zip”压缩包提供了使用Freemarker 2.3.30版本将数据导出为Word...
Freemarker是一款强大的Java模板引擎,它被广泛用于Web开发中,用来生成动态HTML或者其他格式的文本。这个压缩包中的内容很可能包含了一系列关于Freemarker的详细注释,旨在帮助初学者理解其工作原理和使用方法。让...
Freemarker是一个模板引擎,常用于生成HTML、XML或其他文本格式的文档。它与Java紧密集成,允许开发者在模板中使用Java表达式,动态生成内容。在Web开发中,Freemarker通常用于视图层,接收后台传递的数据并生成动态...
FreeMarker是一个强大的、开源的Java模板引擎,常用于Web应用中的动态内容生成,尤其是在MVC(Model-View-Controller)架构中,它作为View层的一部分,将数据模型和HTML或其他类型的文档模板结合,生成最终的网页。...
本话题将详细探讨如何利用Freemarker模板引擎根据数据库字段自动生成form表单、DAO层和Service层的增删改查功能。 **1. Freemarker简介** Freemarker是一个开源的Java模板引擎,它允许开发者使用特定的模板语言...
本篇文章将对四个流行的Java模板引擎——Velocity、FreeMarker、Smarty4j以及HTTL进行效率分析,旨在探讨它们在处理业务逻辑编译和性能方面的优劣。 1. Velocity: Velocity是Apache软件基金会的一个开源项目,以其...
Freemarker是一个强大的模板引擎,常用于Web应用中的动态页面生成。在Java世界里,它被广泛应用在代码生成器中,以实现自动生成常见的后台代码,如控制层、业务层和持久层。这个压缩包提供的就是一套基于Freemarker...