先定义一个摸板类,该类实现TemplateMethodModel接口,在方法EXEC中定义自己的逻辑;
public class DatetimeMethodFreeMarker implements TemplateMethodModel {
private static final String DEFAULT_PATTERN = "yyyy-MM-dd";
/* (非 Javadoc)
* @see freemarker.template.TemplateMethodModel#exec(java.util.List)
*/
public Object exec(List args) throws TemplateModelException {
// TODO 自动生成方法存根
Date date = new Date();
String year = args.get(0).toString();
String month = args.get(1).toString();
String day = args.get(2).toString();
return DateUtil.getDateFromAs400(year, month, day);
}
}
定义一个FreemarkerManager的子类,将自定义的摸板类进行共享,这里将摸板的名字设为dateTimeMarker;这样在摸板文件中就可以通过dateTimeMarker来进行调用;
public class ExtendedFreemarkerManager extends FreemarkerManager {
protected Configuration createConfiguration(ServletContext servletContext)
throws TemplateException {
Configuration configuration = super.createConfiguration(servletContext);
configuration.setSharedVariable(
"dateTimeMarker",
new DatetimeMethodFreeMarker());
// 加入时间日期处理
return configuration;
}
}
在webwork.properties文件中增加:
webwork.freemarker.manager.classname=com.cigna.smsplatform.util.ExtendedFreemarkerManager;
在模板文件中通过${dateTimeMarker(year,month,day)}这种方法就可以调用我们自定义的摸板解析类了;
分享到:
相关推荐
最后,关于标签的性能考虑,应避免在自定义标签中执行耗时操作,因为这会影响模板的渲染速度。尽可能地将计算和逻辑操作交给后端处理,只在标签中处理简单的数据转换和呈现。 总的来说,自定义FreeMarker标签是提高...
在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...
本资源包的核心内容是教你如何在JFinal项目中实现FreeMarker自定义标签的自动扫描和注册,从而提升模板引擎的功能和灵活性。 首先,我们需要理解自定义标签的概念。在FreeMarker中,自定义标签允许开发者扩展其内置...
下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...
在这个主题“freemarker自定义分页标签宏”中,我们将深入探讨如何在FreeMarker中创建自定义的分页标签宏,以便更有效地管理和展示大量数据。 首先,分页是一种常见的网页设计技术,用于将大量数据分割成小块,使...
通过上述内容,我们了解了Freemarker自定义标签的基本概念、创建与使用方法,以及如何在实际项目中发挥作用。自定义标签极大地增强了Freemarker的灵活性,使得模板语言可以更好地适应各种应用场景。在阅读...
Freemarker支持条件判断、循环结构、内置函数,以及自定义标签,增强了模板的灵活性。与JSP相比,Freemarker通常被认为更简洁、易读且更易于维护。 将这三个框架结合使用,可以构建出高效、灵活的Java Web应用。...
一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx
6. **在模板中使用标签**: 最后,在你的FreeMarker模板文件中,你可以像使用其他内置标签一样使用你的自定义标签。 通过这种方式,开发者可以创建出高度定制的UI组件,提高代码的可读性和可维护性。自定义标签使得...
Freemarker是一个强大的模板...通过这些文档的学习,你将能够熟练地运用Freemarker来编写模板,以及在Jeecms中利用其自定义标签来构建高效、灵活的网站内容管理。不断实践和探索,将使你在Web开发领域更加游刃有余。
4. **兼容性**:作为一个好用的自定义标签,它应该与各种视图技术(如JSP、FreeMarker、Thymeleaf等)兼容,并且适应不同的前端样式。 5. **易用性**:使用简单是这个组件的一大优点,意味着只需将`kevinb.jar`引入...
8. **自定义标签**:除了内置的Shiro标签,开发者还可以根据项目需求自定义FreeMarker标签,扩展Shiro的功能,实现更具体的权限控制逻辑。 9. **错误处理**:在模板中使用Shiro标签时,要注意异常处理。当用户权限...
自定义标签是JSP中的一种特性,允许开发者创建自己的标签库,以提高代码的可读性和复用性。这里提到的分页标签可能是基于JSTL (JavaServer Pages Standard Tag Library) 或 Struts1 的自定义标签实现。开发者可以...
在这个示例中,我们将介绍如何将 Shiro 集成到 Spring Boot 项目中,并实现自定义密码验证和 Freemarker 标签根据权限渲染不同页面。 首先,需要在 pom.xml 文件中添加 Shiro 的依赖项: ```xml <groupId>org....
本文将深入探讨如何在Struts2中创建自定义标签,特别是基于`UITag`的实现方法,以及其背后的原理和步骤。 #### 二、Struts2自定义标签的构成 Struts2的自定义`UITag`由三部分组成: 1. **UIBean**:用于定义标签...
6. **自定义标签(Custom Tags)**:扩展Freemarker功能的一种方式,允许开发者创建自己的模板语言元素。 7. **缓存机制**:了解如何配置和利用Freemarker的缓存,提高生成静态页面的效率。 8. **模板配置**:如...
标签的详解涵盖了Freemarker的所有内置标签和自定义标签的使用方式,包括它们的参数、返回值以及在不同场景下的最佳实践。例如,`<#assign>`用于声明变量,`<#function>`用于定义函数,`<#tobool>`用于转换值为布尔...
"源码"标签表明我们可能需要查看FreeMarker的源代码来理解其内部工作原理,或者创建自定义扩展。FreeMarker是开源的,它的源代码可以在GitHub上找到。通过阅读源代码,开发者可以学习如何实现类似的特性,或者针对...
- **数据模型**:Freemarker模板与应用程序的数据模型进行绑定,模型中的数据可以在模板中被引用和展示。 - **分离关注点**:Freemarker遵循MVC设计模式,负责视图部分,将业务逻辑和表现层分开,使代码更易于维护...