专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java 极轻量级模板引擎 Enjoy(java轻量级组件)

temp10 2024-10-14 17:28:59 java教程 12 ℃ 0 评论

Enjoy

Enjoy 是基于 Java 语言的极轻量极魔板引擎。极轻量级仅 227 KB 并且不依赖任何第三方。极简设计仅 if、for、switch、set、define、include、render 七个核心指令,让学习成本低到极致。独创 DKFF(Dynamic Key Feature Forward) 词法分析算法与 DLRD (Double Layer Recursive Descent)语法分析算法,避免使用 javacc、antlr、jflex 生成器,令代码量少到极致。

Java 极轻量级模板引擎 Enjoy(java轻量级组件)

Enjoy 主要特点

- 消灭传统模板引擎中大量繁杂概念,仅七个核心指令,学习成本极低

- 独创 DKFF 词法分析算法与 DLRD 语法分析算法,避免使用 javacc、antlr

- 功能强大,极为简单覆盖掉 freemarker、velocity 的核心功能

- 扩展性强,支持多种扩展方式,且是唯一支持指令级扩展的模板引擎

- 与 java 打通式设计,在模板中与 java 交互极为方便

- 贴近 java 使用直觉,为 java 开发者量身打造

- 回归模板引擎渲染 View 数据的本质,采用指令式设计,避免 view 层表达复杂逻辑

- 体积小,仅 227 KB,且不依赖于任何第三方

maven 坐标

<dependency>
 <groupId>com.jfinal</groupId>
 <artifactId>enjoy</artifactId>
 <version>3.7</version>
</dependency>

极速上手

#for(user : userList)
 #(user.name)
#end
#if(user.girl && user.age == 18)
 #(user.name)
#end

集成 spring

<bean id="viewResolver" class="com.jfinal.template.ext.spring.JFinalViewResolver">
 <!-- 是否热加载模板文件 -->
 <property name="devMode" value="true" />
 <!-- 配置shared function,多文件用逗号分隔 -->
 <property name="sharedFunction" value="/view/_layout.html, /view/_paginate.html" />
 
 <!-- 是否支持以 #(session.value) 的方式访问 session -->
 <property name="sessionInView" value="true" />
 <property name="prefix" value="/view/" />
 <property name="suffix" value=".html" />
 <property name="order" value="1" />
 <property name="contentType" value="text/html; charset=utf-8" />
</bean>

Enjoy Template Engine 采用独创的 DKFF (Dynamic Key Feature Forward)词法分析算法以及独创的DLRD (Double Layer Recursive Descent)语法分析算法,极大减少了代码量,降低了学习成本,并提升了用户体验。

与以往任何一款 java 模板引擎都有显著的不同,极简设计、独创算法、极爽开发体验,从根本上重新定义了模板引擎,这里是发布时的盛况,传送门:JFinal 3.0 发布,重新定义模板引擎

Enjoy 模板引擎专为 java 开发者打造,所以坚持两个核心设计理念:一是在模板中可以直接与 java 代码通畅地交互,二是尽可能沿用 java 语法规则,将学习成本降到极致。

因此,立即掌握 90% 的用法,只需要记住一句话:JFinal 模板引擎表达式与 Java 是直接打通的。

记住了上面这句话,就可以像下面这样愉快地使用模板引擎了:

// 算术运算
1 + 2 / 3 * 4
// 比较运算
1 > 2
// 逻辑运算
!a && b != c || d == e
// 三元表达式
a > 0 ? a : b
// 方法调用
"abcdef".substring(0, 3)
target.method(p1, p2, pn)

Enjoy 模板引擎核心概念只有指令与表达式这两个。而表达式是与 Java 直接打通的,所以没有学习成本,剩下来只有 #if、#for、#define、#set、#include、#switch、#(...) 七个指令需要了解,而这七个指令的学习成本又极低。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表