FAQ
为什么还要做一个模板语言,与Freemarker区别是什么
在学习效率,开发效率,运行效率,维护性上Beet做出更进一步的发展,可谓下一代模板语言.
学习效率: 类似javascript语法和使用习惯,相对于其他模板语言或者jsp来说,学习成本很低
开发效率:专为模板定制的语法,包含模板制作诸多功能,丰富的调试功能,出错提示信息等
运行效率: 能预编译成class代码,性能高于同类模板语言,耗费系统资源低于同类模板语言
维护:多重方式支持模板可维护性,如严格MVC,低侵入性
很多人都问与Freemarker,Velocity区别,简单回答就是易学,易用,性能好,容易扩展,有不少曾经使用过这俩个模板引擎的在用了Beetl后都抛弃了这俩个
Beetl适用范围是什么?
适合代码生成模板以及Web前端开发,Beetl能与当今流行的web框架结合,1.1内置了与serlvet结合,与SpringMVC框架结合。目前功能对比,不弱于Freemarker,Velcoity,性能对比 仅仅次于JSP。
什么是严格MVC?
严格MVC不允许在模板里有复杂的逻辑表达式,算数表达式,方法调用等等。这通常用于前端后端分离。有助于提高开发效率和维护性
什么是安全输出
JSP在输出变量的时候,如果变量抛出异常,页面就花了,常见例子是变量为null。Beetl有俩种策略解决安全输出,如
${user.wife.name!"单身"}
${!(user.wife.name)}
前者称为MissValue,如果user为null,或者user.wife为null,则输出!后制定的制服穿
后者则是无论占位符里表达式出现何种异常,beetl都将忽略
什么是模板语言对静态页面的侵入性
在web开发中,美工提供好静态页面,开发人员在此基础上修改成模板。通常结果是模板尽管能运行输出,但模板本生已经面目全非,已经偏离了原来静态页面。如果有一种模板语言,即使将静态页面更改为模板后,模板仍然能通过浏览器,Html Editor打开,这样,对维护模板会有很大帮助。Beetl 提供了自定义占位符,控制语句起始符号,标签等功能,能极大降低侵入性。
既然Beetl功能很强大,跟JSP有什么区别
Beetl功能丰富,不弱于JSP,强于其他简单的模板语言,对于复杂的模板渲染功能,beetl是合适的。不同于JSP,beetl容易学习,且语法,内置功能转为模板输出定制。使用起来得心应手。而且Beetl 的错误提示信息丰富,能精确到行,错误符号,以及可能的错误原因,异常栈等。
另外,beetl可以设置以减少其灵活性,譬如设置严格MVC,不允许本地调用等等。前端架构师完全可以根据需要来灵活定制Beetl特性
Beetl作为中国人开发的,稳定么,能持续多长时间?
稳定性不单取决于开发者,还取决于使用者,只有你愿意使用,愿意提建议,愿意贡献自己代码,无论是beetl核心包还是扩展包。这些行为都会让Beetl更加稳定和持久。
Beetl 下一步发展计划是什么
?
目前版本1.1,下一个版本是1.2 主要是网站改版成英文版,文档也全系列英文化;beetl提供更多的预编译增强功能;以及进一步提升稳定性以及系能