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

freemaker 自定义标签的实现

 
阅读更多
第一步:实现标签的解析过程,当freemaker遇到该标签后,可以根据自定义的参数值解释标签,并将解释后的结果输出到页面上
@Component
public class TimestampLabel implements TemplateDirectiveModel{

	@Override
	public void execute(Environment env, Map params, TemplateModel[] loopVars,
			TemplateDirectiveBody body) throws TemplateException, IOException {
		SimpleNumber timestamp = (SimpleNumber)params.get("val");
		String fdateStr = DateUtil.Date2StringSec(DateUtil.fromUnixTime(timestamp.getAsNumber().intValue()));
		env.getOut().write(fdateStr);
	}

}


第二步:定义一个标签
    <bean id="freemarkerConfig" class=""org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath" value="/WEB-INF/views/"/>
        <property name="freemarkerSettings">
            <props>
                <prop key="template_update_delay">0</prop>
                <prop key="default_encoding">UTF-8</prop>
                <prop key="locale">zh_CN</prop>
                <prop key="url_escaping_charset">UTF-8</prop>
                <prop key="whitespace_stripping">true</prop>
                <prop key="number_format">#</prop>
            </props>
        </property>
        <property name="freemarkerVariables">
            <map>
                <entry key="timestamp" value-ref="timestampLabel"/><!-- 这里定义一个全局的标签-->
            </map>
        </property>
    </bean>


第三步:在ftl模板页使用标签
<@timestamp val=1367029878 />


解析标签后页面展示格式化之后的值
2013-04-27 15:00:00
分享到:
评论
1 楼 MyTiny 2014-06-27  
没用过freemarker,刚接了个二手项目,正愁没找到标签怎么实现的,你这个写的很清楚

相关推荐

    freemarker 自定义freeMarker标签

    在实际开发中,自定义标签可以实现许多高级功能,如数据库查询、缓存管理、国际化处理等。例如,你可以创建一个自定义标签用于处理分页数据,接受页码和每页数量作为参数,然后在后台查询数据库并返回相应的页面内容...

    Freemarker 自定义标签 简单案例

    在提供的"TestFreemarkerDiy"示例中,可能包含了一个简单的自定义标签实现以及一个演示如何使用该标签的Freemarker模板文件。通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性...

    spring mvc freemarker 自定义标签

    下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...

    实现通过jfinal框架自动扫描freemarker的自定义标签.zip

    本资源包的核心内容是教你如何在JFinal项目中实现FreeMarker自定义标签的自动扫描和注册,从而提升模板引擎的功能和灵活性。 首先,我们需要理解自定义标签的概念。在FreeMarker中,自定义标签允许开发者扩展其内置...

    freemarker自定义分页标签宏

    总结起来,FreeMarker自定义分页标签宏的实现涉及到前端模板的宏定义与调用,以及后端的数据处理和链接生成。通过这种方式,我们可以创建出灵活且可复用的分页组件,方便地应用于各种项目中。理解并熟练掌握宏的使用...

    Struts2、Spring、Freemarker自定义标签

    Freemarker支持条件判断、循环结构、内置函数,以及自定义标签,增强了模板的灵活性。与JSP相比,Freemarker通常被认为更简洁、易读且更易于维护。 将这三个框架结合使用,可以构建出高效、灵活的Java Web应用。...

    freemark 自定义标签 总结

    本篇文章将对Freemarker自定义标签进行深入的总结。 1. **自定义标签基础** 自定义标签在Freemarker中被称为`Custom Tags`,它们通过`&lt;@...&gt;`语法来调用。这些标签通常是由Java代码实现的,它们可以处理复杂的逻辑...

    非常好用的自定义分页标签

    4. **兼容性**:作为一个好用的自定义标签,它应该与各种视图技术(如JSP、FreeMarker、Thymeleaf等)兼容,并且适应不同的前端样式。 5. **易用性**:使用简单是这个组件的一大优点,意味着只需将`kevinb.jar`引入...

    使用freemarker扩展struts标签

    2. **实现标签类**: 创建一个Java类来实现自定义标签,例如`AmHtml`,并继承自Struts2的标签基类。 3. **定义标签行为**: 在标签类中,你需要覆盖`doStartTag()`和`doEndTag()`方法,以及其他可能需要的方法,来定义...

    spring boot 集成 shiro 自定义密码验证 自定义freemarker标签根据权限渲染不同页面(推荐

    在这个示例中,我们将介绍如何将 Shiro 集成到 Spring Boot 项目中,并实现自定义密码验证和 Freemarker 标签根据权限渲染不同页面。 首先,需要在 pom.xml 文件中添加 Shiro 的依赖项: ```xml &lt;groupId&gt;org....

    freemarker格式化缩进文本或include指令

    "源码"标签表明我们可能需要查看FreeMarker的源代码来理解其内部工作原理,或者创建自定义扩展。FreeMarker是开源的,它的源代码可以在GitHub上找到。通过阅读源代码,开发者可以学习如何实现类似的特性,或者针对...

    Freemarker通用select下拉框

    为了实现通用性,我们需要一个方法或服务在后端生成这个`dropdownList`,可以根据不同的参数或者业务逻辑填充。例如,可以有一个`getDropdownList(String entityType)`方法,根据传入的实体类型返回对应的下拉框数据...

    freemarker及jeecms标签使用学习文档

    - **自定义函数和标签**:通过`TemplateMethodModelEx`接口实现自定义方法,`TemplateDirectiveModel`接口实现自定义标签。 - **模板缓存**:提高性能,减少不必要的模板编译。 3. **Jeecms标签使用** - **...

    自定义分页标签源代码

    这里提到的分页标签可能是基于JSTL (JavaServer Pages Standard Tag Library) 或 Struts1 的自定义标签实现。开发者可以通过在JSP页面中使用这些自定义标签,轻松地集成分页功能。 2. **不操作数据库**: 这意味着...

    Struts2_自定义标签的方法

    本文将深入探讨如何在Struts2中创建自定义标签,特别是基于`UITag`的实现方法,以及其背后的原理和步骤。 #### 二、Struts2自定义标签的构成 Struts2的自定义`UITag`由三部分组成: 1. **UIBean**:用于定义标签...

    freemarker的shiro标签

    8. **自定义标签**:除了内置的Shiro标签,开发者还可以根据项目需求自定义FreeMarker标签,扩展Shiro的功能,实现更具体的权限控制逻辑。 9. **错误处理**:在模板中使用Shiro标签时,要注意异常处理。当用户权限...

    freemarker实现自动补齐字符串

    freemarker实现自动补...通过ftl模版文件(ftl文件为freemarker模版文件)的自定义标签实现自动补齐字符串。代码稍作修改便可左补齐右补齐左右补齐,可自定义设置补齐的字符串。测试通过java文件调用ftl文件显示结果。

    自定义struts2标签

    2. **实现标签逻辑**:在自定义标签类中,我们可以覆盖父类的方法来实现自己的业务逻辑。例如,`doStartTag()`方法用于标签的开始,`doEndTag()`方法处理标签结束,`release()`方法用于清理资源。 3. **定义标签...

    freemarker 实现宏分页

    在FreeMarker模板语言中,宏类似于HTML中的自定义标签,可以复用和封装复杂的逻辑。通过定义宏,我们可以创建一个通用的分页组件,便于在多个页面上重复使用。 1. **宏定义**: 在FreeMarker中,宏定义通常放在`....

Global site tag (gtag.js) - Google Analytics