为什么JSP会比Beetl慢】的更多相关文章

转自:http://my.oschina.net/xiandafu/blog/475740 JSP是预编译成class的,然后模板渲染里比Beetl慢很多,文章从JSP静态文本处理不足,以及JSTL实现低效来说明JSP实际上要比Beetl慢2倍,FreeMarker比Beetl慢6倍多.从客观的基准测试和第三方性能测试也能证明这一点. 许多人都不相信这个事实,作为前端常用渲染技术,JSP比Beetl慢.如果稍微了解这俩种技术的人,会分析:JSP是编译成class的,而 Beetl总是解释执行的.…
Beetl作者:李家智(闲大赋) <xiandafu@126.com> 1. 什么是Beetl 广告:闲大赋知识星球,付费会员 Beetl( 发音同Beetle ) 目前版本是3.0.7,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎.总得来说,它的特性如下: 功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能.适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁…
李家智<xiandafu@126.com> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 2.3. 模板资源加载器 2.4. 定界符与占位符号 2.5. 注释 2.6. 临时变量定义 2.7. 全局变量定义 2.8. 共享变量 2.9. 模板变量 2.10. 引用属性 2.11. 算数表达式 2.12. 逻辑表达式 2.13. 循环语句 2.14. 条件语句 2.15. try-catch 2.1…
  Velocity  Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码.Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供…
首先介绍一下模板引擎的概念,是为了使用户界面与业务数据分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎,就会生成一个标准的html文档. Jsp全名是JavaServer Page,中文名叫Java服务器页面,根本是一个简化的servlet.Jsp是在传统的网页html文件中插入Java程序段和Jsp标记,从而形成*.jsp文件.Jsp实现了java语言在html中的扩展. Beetl, 是Beetl Template Language的缩写,它是新一代的模板引擎,功能强大,性能良好,…
如下配置,指定了三个视图解析器,一个用于beetl页面渲染,一个用于cms,采用了beetl技术,另外一个一些遗留的页面采用jsp <bean name="beetlConfig" class="org.beetl.ext.spring.BeetlGroupUtilConfiguration" init-method="init"> <property name="configFileResource" va…
1. beetl的安装 使用maven: <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>2.9.3</version> </dependency> 非maven项目:https://gitee.com/xiandafu/beetl2.0/attach_files 2. beetl的基本使用 S…
一.Beetl简介 1. 什么是Beetl Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎.总得来说,它的特性如下: 功能完备:作为主流模板引擎,Beetl具有相当多的功能和其他模板引擎不具备的功能.适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合.Beetl本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的. 非常…
转自:http://ibeetl.com/guide/#beetl 2.20. 安全输出 安全输出是任何一个模板引擎必须重视的问题,否则,将极大困扰模板开发者.Beetl中,如果要输出的模板变量为null,则beetl将不做输出,这点不同于JSP,JSP输出null,也不同于Freemarker,如果没有用!,它会报错. 模板中还有俩种情况会导致模板输出异常 有时候模板变量并不存在(譬如子模板里) 模板变量为null,但输出的是此变量的一个属性,如${user.wife.name} 针对前俩种种…
1.如果表达式跟定界符或者占位符有冲突,可以在用 “\” 符号 @for(user in users){ email is ${user.name}\@163.com @} ${[1,2,3]} //输出一个json列表 ${ {key:1,value:2 \} } //输出一个json map,} 需要加上\ 2.Beetl里定义的临时变量类型默认对应的java是Int型或者double类型,对于模板常用情况说,已经够了.如果需要定义长精度类型(对应java的BigDecimal),则需要在数…