在框架处理日志的时候,支持配置方式生成日志。日志内容可以根据一定的规则来生成。这里就可以使用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模板引擎技术在Java Web中的应用" Velocity模板引擎技术是Java Web开发中的一种重要技术,旨在解决Java Web页面视图和业务逻辑的耦合问题。通过使用Velocity模板引擎技术,可以将Java Web页面视图和业务...
### Velocity 模板引擎知识点详解 #### 一、Velocity简介及基本概念 Velocity与Freemarker、JSTL并称为Java Web开发中的三大标签技术。Velocity是一种基于Java的模板引擎,它允许Web开发者通过简单的模板语法来生成...
Velocity 是基于Java的模板引擎,广泛应用在阿里集 体各个子公司。Velocity模板适用于大量模板使用的场景,支持复杂的逻辑运算,包含 基本数据类型、变量赋值和函数等功能。Velocity.js 支持 Node.js 和浏览器环境。...
在Velocity模板中,开发者可以使用特定的指令(如#$或##)来插入Java代码片段,这些代码会被引擎解析并执行,然后将结果插入到模板的相应位置。这样,模板设计者可以专注于页面布局,而程序员则关注业务逻辑。 ...
在Spring Boot项目中,利用Velocity模板引擎,我们可以创建一系列模板文件,如Mapper、Mapper.xml、Service和Controller等,这些模板在运行时会根据数据库中的表结构动态生成对应的Java源码。这不仅避免了手动编写...
Velocity是一个基于Java的模板引擎,它的主要用途是将动态内容嵌入到Web页面中。模板引擎是一种将模板(template)和数据结合生成文档的软件。Velocity通过使用简单而功能强大的脚本语言——Velocity模板语言...
Velocity模板技术语法详细介绍,包括很详细的示例代码 1.变量………………………………………………………………………………1 2.循环………………………………………………………………………………2 3.条件语句...
接下来,通过Velocity引擎解析和渲染模板,生成最终的HTML输出。 例如,一个简单的Velocity模板可能如下所示: ```html $title <h1>Welcome, $username! <p>Today is #formatDate($date, 'yyyy-MM-dd') ``` ...
Velocity 是一种基于 JAVA 的模板引擎,开发人员使用简单的模板语言就可以快速开发显示层,它使得显示层与程序代码分离。在 Struts2 框架中,Velocity 模板引擎可以与 Struts2 集成,实现了显示层与程序代码的分离。...
当Velocity引擎处理模板时,它会将这些指令和变量替换为实际的值,生成最终的输出。 1. **Velocity模板语法** - **变量引用**:在Velocity模板中,通常使用`$variable`来引用Java对象的属性,例如`$user.name`表示...
Velocity引擎的核心概念是模板(Template)和Velocity模板语言(Velocity Template Language, VTL)。VTL是一种简单的非编程语言,它允许在模板中插入变量和控制结构。通过与Java对象的关联,这些变量在运行时被替换...
该项目是一款基于Java语言的Velocity模板引擎集成工具设计源码,包含245个文件,涵盖142个Java源文件、44个VM模板文件、24个XML配置文件、13个属性文件、8个文本文件、3个JSON文件、2个HTML文件和各1个gitignore、...
9. **Velocity引擎(Engine)**:负责解析模板,合并上下文数据,并生成最终的输出。通过`VelocityContext`和`VelocityEngine`类,可以在Java代码中初始化和配置Velocity。 在“Apache-Velocity-java”这个压缩包中...
在完成数据处理后,通过ModelAndView对象将数据传递给Velocity模板,Velocity引擎解析模板并渲染数据,最后返回给客户端展示。 总的来说,SpringBoot集成Mybatis和Velocity模板引擎,可以实现高效的数据处理和动态...
5. `lib`目录:可能包含工具运行所依赖的外部库,如Velocity引擎的JAR文件。 使用`swing-generate`,开发者可以显著提高代码编写效率,特别是在处理大量重复性代码时。通过自定义模板,可以确保生成的代码符合团队...