网站首页 > java教程 正文
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 生成器,令代码量少到极致。
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、#(...) 七个指令需要了解,而这七个指令的学习成本又极低。
猜你喜欢
- 2024-10-14 开发者必备:10款最佳JavaScript模板引擎
- 2024-10-14 Handlebars : 不包含逻辑和语义的 Java 模板引擎
- 2024-10-14 JNPF一键生成java项目,一款极为好用的java代码生成器
- 2024-10-14 使用C#实现自己的模板引擎(使用c#实现自己的模板引擎功能)
- 2024-10-14 Java web开发:分享Java模板引擎,类似JS语法简单易学(Beetl)
- 2024-10-14 软件更新丨FreeMarker 2.3.29 发布,Java 模板引擎
- 2024-10-14 吐槽java的模板引擎(模板 java)
- 2024-10-14 详细介绍一下SpringBoot的模板引擎技术?
- 2024-10-14 服务器端模板引擎art-template的下载和使用
- 2024-10-14 新一代 Java 模板引擎典范 Beetl(java模板引擎性能对比)
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)