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

Freemarker的自定义方法

 
阅读更多
要想使用Freemarker支持的自定义方法,需要实现freemarker.template.TemplateMethodModel接口,然后将方法对象放入到Freemarker的数据模型中,这样在ftl文件中便可以像使用Freemarker内置方法一样使用该方法了。

/**  
 * Freemarker自定义方法  
 * 实现response.encodeURL(url)功能  
 */   
public class EncodeURLMethod implements TemplateMethodModel {   
       
    private HttpServletResponse response;   
       
    /**  
     * 带参数的构造函数  
     * @param response HttpServletResponse对象  
     */   
    public EncodeURLMethod(HttpServletResponse response)   
    {   
        this.response=response;   
    }   
   
    /**  
     * 执行方法  
     * @param argList 方法参数列表  
     * @return Object 方法返回值  
     * @throws TemplateModelException  
     */   
    public Object exec(List argList) throws TemplateModelException {   
        if(argList.size()!=1)   //限定方法中必须且只能传递一个参数   
        {   
            throw new TemplateModelException("Wrong arguments!");   
        }   
        //返回response.encodeURL执行结果   
        return response.encodeURL((String)argList.get(0));   
    }   
} 
 

使用:

@Controller
public class HelloWord {
   @RequestMapping("/fltMethod")
   public String templateMethodModel(Modelmodel,HttpServletResponse response)
    {
    model.addAttribute("encodeURL", new EncodeURLMethod(response));   
    return ("fltMethod.ftl");
    }
}



${encodeURL("/news/showNews.sf?id=123456")} 
分享到:
评论

相关推荐

    freemarker 自定义freeMarker标签

    这通常是通过`Configuration`对象的`setSharedVariable`方法完成的,将你的自定义指令类实例绑定到一个特定的名字,这个名字就是你在模板中使用的标签名。 3. 使用自定义标签:在模板文件中,你可以像使用内置标签...

    Freemarker 自定义标签 简单案例

    在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...

    freemarker自定义的通用分页指令(标签)源码和使用示例

    一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx

    spring mvc freemarker 自定义标签

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

    freemarker自定义分页标签宏

    在这个主题“freemarker自定义分页标签宏”中,我们将深入探讨如何在FreeMarker中创建自定义的分页标签宏,以便更有效地管理和展示大量数据。 首先,分页是一种常见的网页设计技术,用于将大量数据分割成小块,使...

    FREEMARK自定义方法

    ### 二、Freemarker自定义方法实现原理 Freemarker 是一个基于 Java 的模板引擎,用于生成文本输出。在 Freemaker 中,可以通过实现 `TemplateMethodModel` 接口来创建自定义方法。这些自定义方法可以在模板中通过 ...

    Struts2、Spring、Freemarker自定义标签

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

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

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

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

    要实现这个功能,开发者通常需要自定义一个FreeMarker指令或使用已有的扩展库。例如,`FormatDirective.java`可能就是一个实现了自定义格式化的指令。在自定义指令中,你可以根据需要处理模板输出的文本,添加适当的...

    Freemarker通用select下拉框

    Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架中的JSP替代技术。本示例关注的是如何在Freemarker(FTL)中创建一个通用的`select`下拉框,以满足各种Web界面中的下拉选择需求。...

    spring boot + mybaits +freemarker +maven 架构来袭 注解版

    在本项目中,我们采用了Spring Boot、MyBatis、FreeMarker和Maven这四个核心组件构建了一套完整的Web应用程序架构。下面将详细讲解这四个技术及其整合应用。 **Spring Boot** Spring Boot是Spring框架的一个扩展,...

    使用Spring boot + FreeMarker 实现代码生成功能的Demo

    使用Spring boot + FreeMarker 实现代码生成功能,完整案例可以查看 eladmin 项目,教程地址: https://www.ydyno.com/archives/1177.html

    freemark 自定义标签 总结

    通过上述内容,我们了解了Freemarker自定义标签的基本概念、创建与使用方法,以及如何在实际项目中发挥作用。自定义标签极大地增强了Freemarker的灵活性,使得模板语言可以更好地适应各种应用场景。在阅读...

    springMVC3.2+Hibernate4+freemarker

    springMVC3.2+Hibernate4+freemarker 代码框架采用springMVC3.2.4+hibernate4.2.8+freemarker2.3.16 功能方面只是一个简单的注册登录,前台使用freemarker渲染,使用了freemarker自定义标签。

    springsecurity(用spring ibatis freemaker 用户自定义)实现的权限管理页面

    springsecurity(用spring ibatis freemaker)实现的用户自定义的权限管理页面, 里头包括数据库脚本 和原数据 和原代码 主要参考http://blog.csdn.net/k10509806/article/details/6369131 这个人的文章做的

    springboot中使用freemarker动态生成word文档,以及使用POI导出自定义格式Excel

    1. 使用Apache POI 3.9 自定义样式导出Excel文件; 2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi

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

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

    Struts2 与Freemarker 的配置方法

    例如,创建一个名为"userLogin"的Action,指定其执行的类和方法,然后将成功的返回结果映射到一个Freemarker模板。 6. **Freemarker模板的编写**: - 在Freemarker模板文件中,可以使用Struts2标签库,如`s:...

    freemarker-2.3.23jar

    4. **函数和方法**:Freemarker支持自定义函数和方法,可以使用内置的函数库,如字符串操作、数学计算等,也可以扩展自定义函数来满足特定需求。 5. **模板继承和导入**:通过`<#import>`和`<#extends>`,模板可以...

Global site tag (gtag.js) - Google Analytics