配置GroupTemplate

Beetl建议通过配置文件配置GroupTemplate,主要考虑到IDE插件未来可能会支持Beetl模板,模板的属性,和函数等如果能通过配置文件获取,将有助于IDE插件识别。 配置GroupTemplate有俩种方法

  • 配置文件: 默认配置在/org/beetl/core/beetl-default.properties 里,Beetl首先加载此配置文件,然后再加载classpath里的beetl.properties,并用后者覆盖前者。配置文件通过Configuration类加载,因此加载完成后,也可以通过此类API来修改配置信息
  • 通过调用GroupTemplate提供的方法来注册函数,格式化函数,标签函数等

配置文件分为三部分,第一部分是基本配置,在第一节讲到过。第二部分是资源类配置,可以在指定资源加载类,以及资源加载器的属性(这个配置在spring框架里,通过spring或者springboot的配置机制实现覆盖,并未起作用),如下

  1. RESOURCE_LOADER=org.beetl.core.resource.ClasspathResourceLoader
  2. #资源配置,resource后的属性只限于特定ResourceLoader
  3. #classpath 根路径
  4. RESOURCE.root= /
  5. #是否检测文件变化
  6. RESOURCE.autoCheck= true

第1行指定了模板加载器类,在beetl与其他框架集成的时候,模板加载器不一定根据这个配置,比如spring,它的RESOURCE_LOADER以spring的配置为准

第4行指定了模板根目录的路径,此处/ 表示位于classpath 根路径下,同loader一样,依赖使用的框架

第6行是否自动检测模板变化,默认为true,开发环境下自动检测模板是否更改。关于如何自定义ResouceLoader,请参考下一章

配置文件第三部分是扩展部分,如方法,格式化函数等

  1. #### 扩展 ##############
  2. ## 内置的方法
  3. FN.date = org.beetl.ext.fn.DateFunction
  4. FN.nvl = org.beetl.ext.fn.NVLFunction
  5. .................
  6. ##内置的功能包
  7. FNP.strutil = org.beetl.ext.fn.StringUtil
  8. ##内置的格式化函数
  9. FT.dateFormat = org.beetl.ext.format.DateFormat
  10. FT.numberFormat = org.beetl.ext.format.NumberFormat
  11. .................
  12. ##内置的默认格式化函数
  13. FTC.java.util.Date = org.beetl.ext.format.DateFormat
  14. FTC.java.sql.Date = org.beetl.ext.format.DateFormat
  15. ## 标签类
  16. TAG.include= org.beetl.ext.tag.IncludeTag
  17. TAG.includeFileTemplate= org.beetl.ext.tag.IncludeTag
  18. TAG.layout= org.beetl.ext.tag.LayoutTag
  19. TAG.htmltag= org.beetl.ext.tag.HTMLTagSupportWrapper

FN前缀表示Function,FNP前缀表示FunctionPackage,FT表示format函数,FTC表示类的默认Format函数,TAG表示标签类。Beetl强烈建议通过配置文件加载扩展。以便随后IDE插件能识别这些注册函数