`
javamonkey
  • 浏览: 169030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Beetl 专用博客

 
阅读更多

将beetl专门放在网易轻博客上,以后除非有版本发布,就不在此处发布关于beetl的文章。

 

http://beetl.lofter.com/

 

摘抄一些内容如下

 

Beetl与Freemarker 比较

一章一章的看了Freemarker官方网站的使用说明,觉得Beetl功能与Freemarker功能应该是差不多的。打算在Beetl正式发布前,也按照Freemarker文档的组织结构,写一个对应的详细使用说明

Beetl的优势在于
使用更简单 : 类似javascript语法,不用额外的学习成本
更小 :大小不到350K
更具有扩展性 :支持自定义函数,文本处理函数(标签),格式化函数
MVC限制 :即允许严格的MVC限制,也允许使用标准MVC限制 , 也允许打开后门,直接调用java类,支持这三种MVC限制
对原文件无侵入性 :众所周知,文件一旦变成模板,就不在是文件,只能被模板引擎识别,Beetl模板对原文件侵入性很低

更好性能 :可以在运行时优化成java代码,具有最高效的使用

 

 

 

编译成class后的错误处理很赞
大多数web容器对JSP运行的错误处理不好,虽然打印出错误栈,但很难让开发者找到错误行。对于Beetl来说,默认的错误处理不仅打出错误栈,而且还显示出模板文件所在行数已经上下3行的内容:如下
一个简单的模板如下
<%
var a= 3;
var b = 2/0;
%>
$b$

运行后会打印出如下信息
ERROR 位于3行
1|<%
2|var a= 3;
3|var b = 2/0;
4|%>
5|$b$
java.lang.ArithmeticException: / by zero
    at test.first_html.service(first_html.java:15)
    at org.bee.tl.core.PreCompiledClass.service(PreCompiledClass.java:170)
    at org.bee.tl.core.CompiledBeeTemplate.runAsPreCompiledClass(CompiledBeeTemplate.java:86)
    at org.bee.tl.core.CompiledBeeTemplate.getText(CompiledBeeTemplate.java:52)
    at org.bee.tl.core.AbstractTemplate.getTextAsString(AbstractTemplate.java:91)
    at org.bee.tl.core.GroupTemplate.main(GroupTemplate.java:429)

 

 

Beetl switch 例子
<%
var str = "beetl";
var a = 0;
switch(str){
    case "velocity":{
        a = 0;
        break;
    }
    case "freemarker":{
        a = 1;
        break;
    }
    case "beetl":{
        a = 3;
        break;
    }
}
%>
$a$

将会编译成如下代码

 public void service(Writer writer,Context ctx) throws IOException,BeeException{
        ctx.set("____group",group);
        ctx.set("____this",template);
        BeetlWriter out = new BeetlWriter(writer,this);
        String str="beetl";
        int a=0;
        List _caseList15_0 = new ArrayList();_caseList15_0.add("velocity");_caseList15_0.add("freemarker");_caseList15_0.add("beetl");
        switch(_caseList15_0.indexOf(str)){
        case 0:{
            a=0;
            break;
        }
        case 1:{
            a=1;
            break;
        }
        case 2:{
            a=3;
            break;
        }

        }
        out.write(a);
        out.write(__VCR);
    }
    /* 原模板中的所有字符串定义到这儿*/
    private static char[] __VCR = "\r\n".toCharArray();
    /* 原模板Cached标示*/
    public long getVersion(){
        return 1321085218968l;
    }

 

 

 


Missing Value
可以在变量后面加 !字符串 指示Beetl 如果变量为空,则显示!后面的字符串,如下例子
$user.wife.bir!'N/A',dateformat$ ;
如果user为空,或者user.wife为空,则显示"N/A",可以看看编译后的代买片段

 if(user!=null&&user.getWife()!=null){
          out.write(user.getWife().getBir(),"dateformat");
 }else{
           out.write("N/A");
}

 

分享到:
评论

相关推荐

    springboot+beetl+beetlsql

    SpringBoot、Beetl 和 BeetlSQL 是三个在Java开发领域广泛应用的技术,它们结合在一起可以构建高效、简洁的Web应用程序。下面将详细解释这三个技术及其整合应用。 **SpringBoot** SpringBoot是由Pivotal团队提供的...

    Spring Boot集成Beetl简单demo

    **Spring Boot 集成 Beetl 简单示例** Spring Boot 是一款基于 Java 的轻量级框架,它简化了 Spring 应用的初始搭建以及开发过程。Beetl 则是一款强大的模板引擎,旨在提供高效、简洁的模板语言,帮助开发者在 Web ...

    Beetl2.2.3 jar包

    Beetl2.2.3 jar包是一款高效且功能丰富的视图层模板解析引擎,它在Java开发领域中被广泛使用。Beetl以其简洁的语法、强大的性能和易用性,深受开发者们的喜爱。这款引擎能够与各种MVC框架无缝集成,极大地提高了Web...

    spring boot+beetl+beetlsql源代码

    在本文中,我们将深入探讨如何将Spring Boot框架与Beetl和BeetlSQL结合使用,以构建一个高效且易于维护的Web应用。Spring Boot以其快速启动和简化配置的特性,已经成为Java开发者的首选框架。而Beetl和BeetlSQL则是...

    beetl模版引擎文档

    Beetl是一个新一代Java模板引擎,其版本为2.7.18。与其他Java模板引擎相比,Beetl具备功能全面、语法直观、性能极高的特点,它还支持HTML标签,易于维护,特别适合于需要快速响应的大网站和复杂的CMS管理系统。Beetl...

    基于Jfinal、MySQL和Beetl的Cimple博客系统设计源码

    本项目为基于Jfinal框架、MySQL数据库和Beetl模板引擎构建的简易博客系统源码,总计包含272个文件,涵盖151个GIF图像、34个JavaScript文件、18个JAR库文件、18个HTML页面、17个Java源代码文件、7个PNG图像、6个CSS...

    beetl-2.7.14.jar

    beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar beetl-2.7.14.jar

    beetl-2.5.2-API文档-中文版.zip

    赠送jar包:beetl-2.5.2.jar; 赠送原API文档:beetl-2.5.2-javadoc.jar; 赠送源代码:beetl-2.5.2-sources.jar; 赠送Maven依赖信息文件:beetl-2.5.2.pom; 包含翻译后的API文档:beetl-2.5.2-javadoc-API文档-...

    beetl+mysql+springboot搭建的项目

    在本项目中,我们主要利用了三个核心技术:Beetl、MySQL和SpringBoot,构建了一个功能完备的博客系统。下面将详细阐述这三个技术及其在项目中的应用。 首先,Beetl是一个高性能、轻量级的Java模板引擎。它提供了一...

    beetl 模板demo

    【标题】"beetl 模板demo"指的是一个基于Beetl模板引擎的示例项目,用于展示如何在Java Web应用中集成并使用Beetl。Beetl是一款强大的、高效的、易用的Java模板引擎,适用于各种类型的应用开发,尤其是Web应用。 ...

    springboot+beetl+mybatis

    【标题】"SpringBoot+Beetl+MyBatis"是一个常见的Java开发框架组合,用于构建高效、便捷的Web应用程序。这个组合将Spring Boot的快速开发能力、Beetl的模板引擎以及MyBatis的持久层框架巧妙地融合在一起,为开发者...

    Springboot 集成Beetl模板

    在本文中,我们将深入探讨如何在Spring Boot项目中集成Beetl模板引擎,以实现高效、灵活的视图渲染。Spring Boot是Java开发中的一个热门框架,它简化了配置并提供了快速开发的能力。而Beetl则是一款强大的、高性能的...

    spring boot集成beetl极简入门实例.zip

    spring boot集成beetl极简入门实例 项目描述 springboot集成beetl极简入门实例 Beetl 是新一代 Java 模板引擎典范。相对于其他 java 模板引擎,具有功能齐全,语法直观,性能超高,开发和维护模板有很好的体验。是...

    beetlsql.zip

    BeetlSQL是一款优秀的Java ORM(对象关系映射)框架,它是MyBatis的一个轻量级替代品,设计目标是让SQL书写更加直观、简洁。本压缩包"beetlsql.zip"包含了六个使用BeetlSQL的实际项目案例,旨在帮助开发者更好地理解...

    Beetl模板引擎入门教程.pdf

    Beetl是一款高性能的Java模板引擎,源自中国,它的性能比Freemarker高6倍,因此在处理大量数据渲染时,能显著提升效率。Beetl不仅作为一个模板引擎,还包含了一个强大的ORMapping工具——BeetlSQL,该工具以SQL为...

    beetl2demo

    【标题】"beetl2demo" 指的是一款基于Beetl 2.x版本的演示项目,它是一个用于教学和实践的示例代码库。这个项目的主要目的是帮助开发者了解和掌握Beetl模板引擎的用法,通过实际操作来体验其功能和特性。 【描述】...

    beetl-json

    【beetl-json】是一个专为Java开发人员设计的库,用于将后端处理的数据转换成JSON(JavaScript Object Notation)格式,以便于前端应用程序进行交互和展示。JSON是一种轻量级的数据交换格式,因其易读性、易写性和...

    Beetl2.7.14中文文档.pdf

    Beetl是一款功能完备、语法直观、性能超高的新一代Java模板引擎,其版本为2.7.14。相较于其他Java模板引擎,Beetl在语法设计、性能表现、易用性等方面具有诸多优势。接下来,我们将详细探讨Beetl的关键知识点。 ###...

    Spring+SpringMVC+Beetl+Beetlsql+Shiro的开发框架源码

    SpringBlade是一个全面而强大的企业级开发框架,它基于一系列成熟的技术栈,包括Spring、SpringMVC、Beetl、BeetlSQL以及Shiro,旨在简化开发过程,提高开发效率,并提供完整的权限管理功能。下面将分别介绍这些技术...

    beetl自动配置Spring启动beetl-spring-boot.zip

    beetl-spring-boot-starter,beetl 自动配置 Spring 启动。使用:从 maven 导入该库  &lt;groupId&gt;com.piggsoft&lt;/groupId&gt;  &lt;artifactId&gt;beetl-spring-boot-starter  &lt;version&gt;0.0.1 配置 application....

Global site tag (gtag.js) - Google Analytics