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

Velocity模板引擎试用

    博客分类:
  • JAVA
阅读更多

在框架处理日志的时候,支持配置方式生成日志。日志内容可以根据一定的规则来生成。这里就可以使用Velocity了。

 

下面针对常用的几种类型进行测试

1)map

Map map = new HashMap();
        map.put("abc", "def");
        context.put("param", map );
        String commentEL = "$param.abc";

 结果输出为def

 

2)dto

ServiceLogDto dto = new ServiceLogDto();
        dto.setPartyCode("logCode");
        context.put("param", dto );
        commentEL = "$param.partyCode";

  结果输出为logCode

 

3)[ ] 数组

ServiceLogDto [] dtos = new ServiceLogDto[2];
        dtos[0]=dto;
        dtos[1]=new ServiceLogDto();
        dtos[1].setPartyCode("testCode");
        context.put("param", dtos );
        commentEL = "#foreach($o in $param)$o.partyCode #end";

 结果输出为 logCode  testCode

 

4)list

List list = new ArrayList();
        list.add(dto);
        ServiceLogDto dto2 = new ServiceLogDto();
        dto2.setPartyCode("test2");
        list.add(dto2);
        context.put("param", list );
        commentEL = "#foreach($o in $param)$o.partyCode #end";

 输出为 logCode  test2

 

 

基本的类型都能用,即便有复杂的类型也可以在数据源这边转化一下。

附上上面代码片段的前后备用

VelocityEngine engine = new VelocityEngine();
        engine.init();
        VelocityContext context = new VelocityContext();

/////some code below

String re= evaluate(engine, context, commentEL );
        System.out.println(re);

///////////////////////////////////////////////////////////////


private static String evaluate(VelocityEngine engine, VelocityContext context, String expr) {
        if (expr == null || expr.trim().length() == 0) {
            return "";
        }
        try {
            CharArrayWriter writer = new CharArrayWriter();
            engine.evaluate(context, writer, "", expr);
            return writer.toString();
        }
        catch (Exception e) {
            return expr;
        }
    }

 

 

 

 

分享到:
评论

相关推荐

    Velocity模板引擎Velocity模板引擎

    Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎Velocity模板引擎

    Velocity模板引擎技术在Java Web中的应用.pdf

    "Velocity模板引擎技术在Java Web中的应用" Velocity模板引擎技术是Java Web开发中的一种重要技术,旨在解决Java Web页面视图和业务逻辑的耦合问题。通过使用Velocity模板引擎技术,可以将Java Web页面视图和业务...

    velocity模板引擎

    ### Velocity 模板引擎知识点详解 #### 一、Velocity简介及基本概念 Velocity与Freemarker、JSTL并称为Java Web开发中的三大标签技术。Velocity是一种基于Java的模板引擎,它允许Web开发者通过简单的模板语法来生成...

    JavaScript模板引擎Velocity.js.zip

    Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。...

    Velocity模板引擎 v2.2.0.zip

    在Velocity模板中,开发者可以使用特定的指令(如#$或##)来插入Java代码片段,这些代码会被引擎解析并执行,然后将结果插入到模板的相应位置。这样,模板设计者可以专注于页面布局,而程序员则关注业务逻辑。 ...

    SpringBoot Velocity 代码生成模板

    在Spring Boot项目中,利用Velocity模板引擎,我们可以创建一系列模板文件,如Mapper、Mapper.xml、Service和Controller等,这些模板在运行时会根据数据库中的表结构动态生成对应的Java源码。这不仅避免了手动编写...

    Velocity_中文手册

    Velocity是一个基于Java的模板引擎,它的主要用途是将动态内容嵌入到Web页面中。模板引擎是一种将模板(template)和数据结合生成文档的软件。Velocity通过使用简单而功能强大的脚本语言——Velocity模板语言...

    Velocity模板技术语法详细介绍

    Velocity模板技术语法详细介绍,包括很详细的示例代码 1.变量………………………………………………………………………………1 2.循环………………………………………………………………………………2 3.条件语句...

    velocity开发包vm模板引擎

    接下来,通过Velocity引擎解析和渲染模板,生成最终的HTML输出。 例如,一个简单的Velocity模板可能如下所示: ```html $title <h1>Welcome, $username! <p>Today is #formatDate($date, 'yyyy-MM-dd') ``` ...

    Struts2与Velocity模板

    Velocity 是一种基于 JAVA 的模板引擎,开发人员使用简单的模板语言就可以快速开发显示层,它使得显示层与程序代码分离。在 Struts2 框架中,Velocity 模板引擎可以与 Struts2 集成,实现了显示层与程序代码的分离。...

    Velocity模板解析

    当Velocity引擎处理模板时,它会将这些指令和变量替换为实际的值,生成最终的输出。 1. **Velocity模板语法** - **变量引用**:在Velocity模板中,通常使用`$variable`来引用Java对象的属性,例如`$user.name`表示...

    Java Velocity模板引擎,简单字符串生成

    Velocity引擎的核心概念是模板(Template)和Velocity模板语言(Velocity Template Language, VTL)。VTL是一种简单的非编程语言,它允许在模板中插入变量和控制结构。通过与Java对象的关联,这些变量在运行时被替换...

    基于Java语言的Velocity模板引擎集成工具设计源码

    该项目是一款基于Java语言的Velocity模板引擎集成工具设计源码,包含245个文件,涵盖142个Java源文件、44个VM模板文件、24个XML配置文件、13个属性文件、8个文本文件、3个JSON文件、2个HTML文件和各1个gitignore、...

    Velocity模板入门DEMO

    9. **Velocity引擎(Engine)**:负责解析模板,合并上下文数据,并生成最终的输出。通过`VelocityContext`和`VelocityEngine`类,可以在Java代码中初始化和配置Velocity。 在“Apache-Velocity-java”这个压缩包中...

    SpringBoot集成Mybatis,velocity模板展示数据

    在完成数据处理后,通过ModelAndView对象将数据传递给Velocity模板,Velocity引擎解析模板并渲染数据,最后返回给客户端展示。 总的来说,SpringBoot集成Mybatis和Velocity模板引擎,可以实现高效的数据处理和动态...

    java swing开发一款代码生成工具swing-generate,可通过velocity模板引擎在线定制模板

    5. `lib`目录:可能包含工具运行所依赖的外部库,如Velocity引擎的JAR文件。 使用`swing-generate`,开发者可以显著提高代码编写效率,特别是在处理大量重复性代码时。通过自定义模板,可以确保生成的代码符合团队...

Global site tag (gtag.js) - Google Analytics