java项目——提升网站性能之java模板引擎beetl
来源:互联网 发布:预算报价软件 编辑:程序博客网 时间:2024/05/20 13:19
在做项目的时候,jsp页面加载大量的数据后打开网页的速度明显会慢下来,为了提升网页的访问的速度,我们公司引入了beetl模板,用html页代替jsp页面。
下面首先介绍一下beetl模板。
1.介绍一下beetl的性能
通过与主流模板引擎Freemarker,Vecloity以及JSP对比,Beetl6倍于Freemarker,2倍于JSP。这是因为宏观上,通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上,通过一维数组保存上下文Context,静态文本合并处理,通过重复使用字节数组来防止java频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法。
2.独特功能
Beetl有些功能是发展了10多年的模板引擎所不具备的,这些功能非常利于模板的开发和维护,如下
自定义占位符和控制语句起始符号,这有利于减小模板语法对模板的倾入性,比如在html模板中,如果定义控制语句符号是
<!--:和 -->
,那么,大部分模板文件都能通过浏览器打开。有的使用者仅仅采用了单个符号@ (或者单个符号“~”)以及回车换号作为控制语句起始符号,这又能提高开发效率可单独测试的模板。无需真正的控制层和模型层,Beetl的模板就可以单独开发和测试
同时支持较为松散的MVC和严格的MVC,如果在模板语言里嵌入计算表达式,复杂条件表达式,以及函数调用有干涉业务逻辑嫌疑,你可以禁止使用这些语法。
强大的安全输出,通过安全输出符号!,能在模板变量,变量属性引用,for循环,占位符输出,try-catch中等各个地方提供安全输出,保证渲染正常
模板变量:运行将模板的某一部分输出像js那样赋值给一个变量,稍后再处理。利用模板变量能完成非常复杂的页面布局(简单的布局可使用include,layout标签函数)
类型推测,能在运行的时候推测模板变量类型,从而优化性能,也可以通过注解的方法显示的说明模板变量属性(这是非必须的,但有助于IDE自动提示功能)
可插拔的设计,错误信息提示,模板引擎缓存机制,模板资源管理,本地调用的安全管理器,严格MVC限制,模板引擎本身都有默认的实现,但又完全可以自定义以适合特定需求
增强的语法,如for-elsefor, select-case,安全输出符号!,省略的三元表达式 等,这些语法特别适合模板开发
局部渲染技术,结合现在js的ajax技术。
性能超高,具有最快的模板解释引擎,同时,又有较低的CPU消耗。5-6倍于国内使用的Freemaker。适合各类模板应用,如代码生成工具,CMS系统,普通网站,超高访问量的门户系统,和富客户端JS框架整合的后台管理应用
3.推荐给大家一个网站(详细)
http://ibeetl.com/community/?/explore/category-3
4.我写的一个简单的实例
<%if(loan.deploy== 0 && loan.status== 3){%><div class="content_p content_p1 content_p2 content_p3 content_p4"><%}else if(loan.deploy== 1 && loan.status== 3 && loan.time != '0时0分0秒' && loan.billStatus!=46){%><div class="content_p"><%}else if(loan.status == 3 && loan.time == '0时0分0秒' || loan.billStatus == 46){%> <div class="content_p"> <%}else if(loan.status== 4 || loan.status== 5){%> <div class="content_p content_p1"> <%}else if(loan.status== 6){%> <div class="content_p content_p1"> <%}else if(loan.status== 7){%><div class="content_p content_p1"><%}else if(loan.status== 10){%><div class="content_p content_p1"><%}%><div class="content_foot"><ul class="title1"><li class="title_lv1"><%if(strutil.length(loan.name) >1){%>${strutil.subStringTo(loan.name,1,3)}<%}else{%>${loan.name}<%}%>
- java项目——提升网站性能之java模板引擎beetl
- 【java模板引擎】-beetl
- Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门
- 新一代的java模板引擎--beetl
- 模板引擎:beetl+servlet
- 模板引擎beetl+springboot
- Beetl 模板引擎实践
- jfinal 配置beetl模板引擎
- Java字符串之性能提升
- Java模板引擎之Freemarker
- Java模板引擎之Freemarker
- Java模板引擎之 FreeMarker
- Java模板引擎之FreeMarker
- 如何提升java性能
- java性能提升
- Java性能提升
- java性能提升优化
- 提升java锁性能
- 杭电5640 King's Cake
- python勿使用mutable值作为默认参数
- notePad++快捷键用法
- centos忘记root密码,重新设置的方法
- leetcode_023 Merge k Sorted Lists
- java项目——提升网站性能之java模板引擎beetl
- 网络基础:子网掩码划分2
- 如何写出正确的二分查找?
- 树、二叉树、森林
- 开始运行、开始运行不调试区别
- 求和公式的应用
- HDOJ 1814 Peaceful Commissiont
- 安装使用jupyter(原来的Ipython notebook)
- BZOJ 1998: [Hnoi2010]Fsk物品调度