欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

jetbrick-template 1.2.0 发布,新增预编译功能和安全管理器

程序员文章站 2022-05-27 11:06:07
...

全面超越 Velocity 的全新一代 Java 模板引擎 jetbrick-template 1.2.0 正式版发布。 

 

jetbrick-template 1.2.0 发布,新增预编译功能和安全管理器

 

jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性。 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板。 指令和 Velocity 相似,表达式和 Java 保持一致,易学易用。 

 

  • 支持类似与 Velocity 的多种指令
  • 支持静态编译
  • 支持编译缓存
  • 支持热加载
  • 支持类型推导
  • 支持泛型
  • 支持可变参数方法调用
  • 支持方法重载
  • 支持类似于 Groovy 的方法扩展
  • 支持函数扩展
  • 支持自定义标签 #tag
  • 支持宏定义 #macro
  • 支持布局 Layout

项目地址http://subchen.github.io/jetbrick-template/index.html 
在线中文文档http://subchen.github.io/jetbrick-template/

范例参考:https://github.com/subchen/jetbrick-template-webmvc-samples/

 

 新增预编译选项/工具和安全管理器。

预编译配置: 
compile.strategy = [precompile, always, auto, none] 
 
安全管理器配置: 
security.manager = jetbrick.template.parser.JetSecurityManagerImpl
security.manager.namelist = \
  -java.lang.System.exit \
  -java.lang.reflect \
  -java.sql

其他改进包括:

  • [新增] #38 增加默认的 #tag cache() 实现模板局部缓存功能 
  • [新增] #49 增加模板预编译工具/选项 
  • [新增] #54 增加安全管理器:黑白名单 
  • [新增] #62 在 Web 环境中使用 jetx 时候,建议增加一个隐藏变量 
  • [新增] #63 对 Array/List/Map 的 [] 访问,增加安全调用 
  • [新增] #64 Spell error in JetAnnoations Class name, Should be JetAnnotations. 
  • [新增] #65 给 #for 指令内部对象增加 for.odd 和 for.even 支持.