之前用freemarker的时候经常在头和尾加一句类似
[#include "${base}/include/adminHeader.ftl" /]
关键在于${base}这个取值,他是可以在字符串中直接被翻译的
但是在jfinal的模板中好像做不到
include只能跟字符串
render可以跟表达式,但是这种字符串内嵌入表达式的做法好像还不支持
我用其他方式当然也能解决,比如我在sharedMethod去扩展,不过字符串内可嵌入表达式的这种方式显然是更灵活
我想问的是,jfinal可以做到像freemarker这种嵌入表达的方式吗
项目:JFinal
#render(base + "/include/adminHeader.html")
如果要将对参数中的字符串再做一次表达式求值或者叫渲染,只需要在 render 指令实现的内部用一次:
String finalPara = engine.getTemplateByString(para).renderToString();
实现起来极其简单,但多了一道工序,并且不是每个人都需要,而且用 base + para 也可以实现同样的功能
如果你确实需要,可以自定义指令去扩展