Java 模板引擎 Webit Script 1.2.2 发布

jopen 10年前

1. 又是一个Java模板引擎

2. 基于java 5 开发,不依赖其他第三方库

3. 语法类似于Javascript,弱类型,甚至是闭包特性

4. 只有解释执行,支持热加载,但是性能依然给力

5. 灵活自由的设计,支持扩展资源加载器、日志、属性访问器、安全管理器

6. 采用IoC的机制管理组件,配置更方便、自由

7. 可以把它当成一个脚本语言,它允许你进行特殊的set操作,

例如: user.name = "my new name";


Q&A

 1. 现在已经有很多开源的模板引擎了为什么要重复制造轮子?

    这个重复造轮子是必须的,坦克的轮子不适合装在飞机上。

 2. 为啥解释执行的性能依然这么给力?

    首先归功于现代JVM的优化能力。

    其次,采用ASM的方式对Bean进行get/set操作避免反射也在一定程度上发挥了作用。当然 如果你不喜欢ASM可以关闭它,使用反射,或者定义自己的Resolver。

    同时,在IO上也做了大量的优化,尽量避免分配大数组以及之间的COPY。

    最后,在关键位置编码的时候都非常谨慎,在不影响代码质量的情况下尽量少分配局部变量、调整局部变量位置及顺序,使其生成更有质量的字节码。

3. 为啥不做编译执行?

    编译执行无非是为了性能,解释执行已经很给力了,做编译执行意义不大。

    其次,双执行引擎之间往往存在差异,很难保证输出结果完全一致,也会限制以后的发展,尤其是功能上的。

还剩很多版面,来个例子把,希望能说服你试一试

 Java 模板引擎 Webit Script

 1.2.2 更新日志:

  • 【新增】Spring MVC 视图支持
  • 【新增】Struts 视图支持
  • 【新增】Servlet 视图支持
  • 【新增】JFinal视图支持,提供硬编码添加设置的API
  • 【新增】对HttpServletRequest getHeader/getHeaders 的友好支持
  • 【增强】JFinal视图支持,缺省无需额外的配置文件
  • 【调整】调整异常输出机制,保证代码质量
  • 【调整】调整配置文件加载机制,使得日志输出能够打印出所有加载的配置文件

同时我们还提供了对于以上各种MVC整合Webit Script的示例,请移步 webitscript-mvc-demo

另外Webit Script专用的词法分析器java_cup修改版,也提供了源代码,感兴趣的小伙伴请移步 java_cup-for-webitscript