Beetl 1.2M1 最新增强功能
1 支持了类似Freemarker的 General Get,即如果模型有一个public Object get(String key);可以在模板中当着属性引用
如:
${user.name},或者采用[]方式 如${user['name']}
2 通过Config类来创建GroupTemplate。Config默认会先装载 /org/bee/tl/core/beetl-default.properties,然后如果classpath下存在beetl.properties,再装载或者覆盖其属性。beetl-default.properties 内容如下:
#######默认配置
DELIMITER_PLACEHOLDER_START=${
DELIMITER_PLACEHOLDER_END=}
DELIMITER_STATEMENT_START=<%
DELIMITER_STATEMENT_ENDNATIVE_CALL = TRUE
COMPILE_CLASS=FALSE
DIRECT_BYTE_OUTPUT = FALSE
TEMPLATE_ROOT=
TEMPLATE_CHARSET = GBK
TEMPLATE_CACHE_CHECK_PERIOD = 2
TEMPLATE_CLASS_FOLDER=?
ERROR_HANDLER = org.bee.tl.core.DefaultErrorHandler
MVC_STRICT = FALSE
#内部使用
DEBUG=FALSE
#######默认配置结束
?
?
?
?
#######性能最佳配置开始
#COMPILE_CLASS=true
#DIRECT_BYTE_OUTPUT = true
?
########性能最佳配置结束
?
#######严格MVC配置开始
#MVC_STRICT = TRUE
#NATIVE_CALL = FALSE
########严格MVC配置结束
?
?
#######编译成class的其他选项开始,未完全测试,暂时不支持
#COMPILE_CLASS_KEEP_SOURCE=FALSE
#OPTIMIZE_COMPILE_LATTER=FALSE
#OPTIMIZE_COMPILE_WORKER_NUM=2
#######编译成class的其他选项结束
?
3 对安全输出做了增强,总结如下:
?
?
?
<result-types> <result-type name="beetl" default="true"/> </result-types>?
<% var a = {var k= 123;%>${k}.<%};%>${a}?
?
这样输出是"123."