`
wang_ping001
  • 浏览: 88713 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

freemark自定义标签

 
阅读更多
public class UserDirective implements TemplateDirectiveModel {



    public static final String ID = "id";


    @Autowired
    protected AdminUserService adminUserService;


    @Override
    public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException {
        if (loopVars.length < 1) {
            throw new TemplateModelException("Loop variable is required.");
        }
        if (body == null) {
            throw new RuntimeException("missing body");
        }
        Long id  = Freemarkers.getLong(params,ID);
        AdminUser adminUser = null;
        if(id != null){
            adminUser = adminUserService.findUniqueBy("id",id);
        }

        loopVars[0] = env.getObjectWrapper().wrap(adminUser);
        body.render(env.getOut());

    }
}
<bean id="User" class="com.sr.fore.manage.web.core.directive.UserDirective"/>

 

<property name="freemarkerSettings">
            <props>

                <prop key="tag_syntax">square_bracket</prop>
                <prop key="template_update_delay">2</prop>
                <prop key="defaultEncoding">UTF-8</prop>
                <prop key="url_escaping_charset">UTF-8</prop>
                <prop key="localized_lookup">false</prop>
                <prop key="locale">zh_CN</prop>
                <prop key="boolean_format">true,false</prop>
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
                <prop key="date_format">yyyy-MM-dd</prop>
                <prop key="time_format">HH:mm:ss</prop>
                <prop key="number_format">0.###</prop>
                <prop key="whitespace_stripping">true</prop>
                <prop key="auto_import">/spring.ftl as s</prop>
            </props>
        </property>

 

FreeMarkerConfigurationFactory  
setFreemarkerVariables(Map<String, Object> variables)

 

[#escape x as (x)!?html]
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

[@User id = "1";user]
<table>
    <thead>
    ${user.userName}
    </thead>
</table>
[/@User]
</body>
</html>
[/#escape]

  freemarkerVariables 是一个map对象,键对应标签名称,值对应xxxDirective

分享到:
评论

相关推荐

    freemark 自定义标签 总结

    自定义标签是Freemarker的一个重要特性,它允许开发者扩展模板语言的功能,以满足特定项目的需求。本篇文章将对Freemarker自定义标签进行深入的总结。 1. **自定义标签基础** 自定义标签在Freemarker中被称为`...

    freemarker 自定义freeMarker标签

    3. 使用自定义标签:在模板文件中,你可以像使用内置标签一样使用你的自定义标签。例如,如果你注册了一个名为`myCustomTag`的自定义指令,你可以在模板中这样使用:`...

    spring mvc freemarker 自定义标签

    自定义标签是Freemarker的一个强大特性,它可以帮助我们更好地组织视图层代码,提高代码复用性,使得模板更加模块化。下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础...

    Freemark模板使用

    为了使自定义标签在JSP中可用,你需要在`WEB-INF`目录下创建一个`tld`文件夹,并创建一个`.tld`文件(例如`my-tags-tld.tld`)。`tld`文件定义了你的自定义标签库,包括描述、显示名称、版本等信息。尽管在示例中...

    freemark标签使用

    ### freemarker 标签详解:提升Web开发效率与灵活性 #### 1. Include标签:高效复用模板 **功能概述:** `Include` 标签是Freemarker中一个非常实用的功能,它允许开发者在多个页面间共享相同的布局或组件,如页头...

    FreeMark中文教程标签参考大全.rar

    - **自定义标签**:当需要扩展功能时,可以通过自定义标签实现。这部分可能会涉及到FreeMarker的API和标签库的创建。 4. **参考手册** - **函数和方法**:FreeMarker提供了丰富的内置函数,如`html`用于转义HTML...

    freemark标签运用

    ### Freemark标签运用知识点 #### 一、Freemarker简介 Freemarker 是一款功能强大的模板引擎,由 Apache 软件基金会所维护的一个开放源码项目。它主要用于生成动态 HTML 页面,但也支持生成 XML、Java 源代码等...

    freemark模板&模版技术

    2. 自定义标签库:支持自定义标签,可以扩展模板语言的功能。 3. 国际化支持:通过不同的消息资源文件实现多语言输出。 4. 缓存机制:提高性能,减少对服务器资源的消耗。 5. 高级控制结构:包括条件判断、循环、...

    Java html转word 使用FreeMarker

    通常,Word模板会遵循Open XML标准,这样FreeMarker就能识别并处理其中的标签。同时,这个描述中还提到了转换为PDF格式,虽然FreeMarker本身不直接支持PDF生成,但可以结合其他库,如Apache POI或iText,先用...

    test_Freemark freemark的基础入门小程序

    此外,也可以自定义方法,通过`&lt;#function&gt;`标签实现。 5. **模板继承与导入**: 使用`&lt;#include&gt;`标签可以导入其他模板,而`&lt;#macro&gt;`可以定义可重用的模板片段,通过`&lt;#nested&gt;`调用。 6. **运行Test.java**: ...

    Java使用freemark生成word

    FreeMarker支持更复杂的功能,如宏、指令、自定义标签等,这使得模板可以处理更复杂的逻辑。同时,Apache POI库提供了丰富的API,用于对Word文档进行更细致的控制,比如插入图片、设置样式等。 总结,使用Java和...

    freemark 2.3.19 中文教程

    3. **国际化(Internationalization)**: FreeMarker支持多语言,通过`&lt;#t&gt;`或`&lt;#lt&gt;`标签进行日期和时间格式化,`&lt;#trans&gt;`处理翻译。 4. **自定义函数和指令(Custom Tags and Directives)**: 可以通过扩展...

    campus-market_springboot_后台管理系统_stand3fu_数据权限控制_

    涉及的知识点有:springboot框架原理、freemark模板标签语法、jpa数据库操作及自动建表、统一上传文件实现方法、自定义注解实现统一验证方法、权限拦截器实现权限统一管理、自定义分页插件封装、调用控制台命令对...

    freemark官方插件2

    标签"freemark官方插件2"再次强调了这是FreeMarker官方提供的插件,并且是系列中的第二个。官方插件通常具有较高的可靠性和与核心库的良好兼容性,开发者可以放心使用,因为它们会得到官方的支持和维护。 在压缩...

    freemark 简要使用说明

    format}):可以自定义数字的显示格式,如`mX`(小数部分最小X位)和`MX`(小数部分最大X位)。 4. **FTL指令**:FreeMarker的FTL指令类似于HTML标签,但以`#`开头,用来控制模板的逻辑和流程。例如,`&lt;#if&gt;`、`...

    freemark开发指南(入门)

    - **FTL标签**:可以使用`&lt;@tag&gt;`形式在模板中调用自定义或框架提供的标签。 - **初始化共享变量**:通常在Web应用启动时设置,用于跨模板共享数据。 - **整合配置**:与WebWork或其他MVC框架整合时,需要配置...

    Springboot角色权限后台管理系统脚手架实战开发教程包含完整源码

    系统实现的功能主要有用户管理、角色管理、权限管理、日志管理、数据库备份等等,涉及的知识点有:springboot框架原理、freemark模板标签语法、jpa数据库操作及自动建表、统一上传文件实现方法、自定义注解实现统一...

    Freemark 中文手册 0分

    FreeMarker模板中主要包含静态数据和FTL标签(FreeMarker Template Language,FreeMarker模板语言),在处理模板时,静态数据原封不动地输出,而FTL标签则根据数据模型中的数据动态生成相应的输出。数据模型是一个...

    freemark2.36

    标题"freemark2.36"指的是FreeMarker的版本号2.3.16,这可能是该软件的一个稳定版本。 FreeMarker的核心功能是将数据模型与HTML或其他格式的模板结合,生成动态内容。它的工作原理是将预先设计好的模板文件(.ftl...

Global site tag (gtag.js) - Google Analytics