beetl开发运用总结

beetl用于页面渲染

简介:Beetl是模板引擎,Beetl对java语言的良好支持和很好的性能
模板引擎的作用:让前端模式不变其内容改变的效率高,解决办法是将数据和格式进行分离,将一个文本分成模板和数据。模板中有固定的格式,需要动态变化的数据一般用占位符代替。同时模板引擎渲染文本的效率也会更高。
优点:功能完备,非常简单,超高的性能(消耗较低的CPU),易于整合(与各种web框架整合)
在这里插入图片描述模板基础配置:https://blog.csdn.net/qq_44123730/article/details/103309758
模板资源加载器实例:https://blog.csdn.net/qq_44123730/article/details/103309200

安装:

1.Maven项目直接添加下面的依赖:

 <dependency>
            <groupId>com.ibeetl</groupId>
            <artifactId>beetl-framework-starter</artifactId>
            <version>1.1.55.RELEASE</version>
        </dependency>
       

用法

在这里插入图片描述

//初始化代码
//
StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader();
Configuration cfg = Configuration.defaultConfiguration();
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
//获取模板
Template t = gt.getTemplate("hello,${name}");
t.binding("name", "beetl");
//渲染结果
String str = t.render();
System.out.println(str);

基本语法:

重点:
安全输出:Beetl中,如果要输出的模板变量为null,则beetl将不做输出.
模板输出异常的情况:
有时候模板变量并不存在(譬如子模板里)
模板变量为null,但输出的是此变量的一个属性,如${user.wife.name}
解决:在变量引用后加上!以提醒beetl这是一个安全输出的变量。
在这里插入图片描述
标签和html标签
标签函数,即允许处理模板文件里的一块内容,功能等于同jsp tag。如Beetl内置的layout标签


//index.html
<%
layout("/inc/layout.html",{title:'主题'}){
%>
Hello,this is main part
<% } %>
//
layout.html
title is ${title}
body content ${layoutContent}
footer
//第1行变量title来自于layout标签函数的参数

//第2行layoutContent 是layout标签体{}渲染后的结果

全局变量是通过template.binding传入的变量,这些变量能在模板的任何一个地方template.binding("list",service.getUserList());
临时变量:
共享变量:指在所有模板中都可以引用的变量
通过groupTemplate.setSharedVars(Map<String, Object> sharedVars)传入变量

//.....
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
// 设置共享变量
Map<String,Object> shared = new HashMap<String,Object>();
shared.put("name", "beetl");
gt.setSharedVars(shared);
Template t = gt.getTemplate("/org/beetl/sample/s0208/t1.txt");
String str = t.render();
System.out.println(str);
t = gt.getTemplate("/org/beetl/sample/s0208/t2.txt");
str = t.render();
System.out.println(str);

模板变量:可以将模板中任何一段的输出赋值到该变量

<%
var content = {
        var c = "1234";
        print(c);
%>
模板其他内容:

<% }; %>

布局技术
直接调用java代码
其他跟js相似
js语法和beetl语法的异同

web开发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值