02.Beetl模板的基础用法 【变量、循环、条件】---《Beetl视频课程》
本期视频做了一个博客的首页列表;
内容简介:springboot 集成 beetlsql;使用for循环,使用if控制语句,使用虚拟属性,定义变量等等
一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598
作者:GK
集成BeetlSql,用来查询数据库
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version>
</dependency>
application.properties中增加数据库配置
spring.datasource.url=jdbc:mysql://mysql:3306/blog?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true
spring.datasource.username=root
spring.datasource.password=8975789757
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
增加数据源配置类
package com.ibeetl.blog.config;
import com.zaxxer.hikari.HikariDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import javax.sql.DataSource;
/**
* @author GavinKing
* @ClassName: DBConfig
* @Description:
* @date 2018/11/18
*/
@Configuration
public class DBConfig {
@Bean(name = "datasource")
public DataSource datasource(Environment env) {
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl(env.getProperty("spring.datasource.url"));
ds.setUsername(env.getProperty("spring.datasource.username"));
ds.setPassword(env.getProperty("spring.datasource.password"));
ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
return ds;
}
}
修改模板文件为html结尾
配置模板文件为html 结尾,在application.properties中增加配置
beetl.suffix=html
变量
临时变量:使用var 定义;类似js语法;
全局变量:整个模板都能访问的变量;通过 template.bind("key",object)去定义
共享变量:所有的模板都能访问的变量;通过
GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
Map<String,Object> shared = new HashMap<String,Object>();
shared.put("name", "beetl");
gt.setSharedVars(shared);
去定义。
模板变量:相当于用一个变量表示一段模板或者代码;
<%
var content = {
var c = "1234";
print(c);
%>
模板其他内容:
<% }; %>
循环语句
for循环,支持 for-in和for(exp,exp,exp)
for(blog in page.list){
....
}
for(var i=0;i<page.list.~size){
page.list[i]....
}
其他循环语句
var i = 0;
while(i<5){
print(i);
i++;
}
//--------elsefor用法,如果for没有进行循环时执行----------
var list = [];
for(item in list){
}elsefor{
print("未有记录");
}
条件语句
var a =true;
var b = 1;
if(a&&b==1){
}else if(a){
}else{
}
//---------switch-------
var b = 1;
switch(b){
case 0:
print("it's 0");
break;
case 1:
print("it's 1");
break;
default:
print("error");
}
//---------select,更加强大的switch-------
var b = 1;
select(b){
case 0,1:
print("it's small int");
case 2,3:
print("it's big int");
default:
print("error");
}
//-----------
var b = 1;
select{
case b<1,b>10:
print("it's out of range");
break;
case b==1:
print("it's 1");
break;
default:
print("error");
}
时间格式化
${date,"yyyy-MM-dd"}
这样就能格式化时间了,嗯,超简单
项目git地址:https://gitee.com/gavink/beetl-blog
视频地址:下载下来会更清晰,说话比较慢,建议 1.2x倍速播放
百度网盘下载: https://pan.baidu.com/s/1LyxAxlKpVXgVjwSXIbzBuA 提取码: 68im
bilibili (可以调节清晰度): https://www.bilibili.com/video/av36278644/?p=2
博客目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
01.Beetl介绍以及集成SpringBoot2.0 ---《Beetl视频课程》
本期视频介绍了beetl; 内容简介:介绍beetl;springboot 集成 beetl; 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK 目的:引导阅读官方文档 目标:实现一个自己的博客 一、Beetl介绍 Beetl目前版本是2.9.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。 在使用FastRuntimeEngine情况下,通过与主流模板引擎Freemarker,Vecloity以及JSP对比,Beetl6倍于Freemarker,2倍于JSP。这是因为宏观上,通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上,通过一维数组保存上下文Context,静态文本合并处理,通过重复使用字节数组来防止java频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法。详情官网 www.ibeetl.com 二、beetl集成SpringBoot 建立Ma...
-
下一篇
03.Beetl模板变量以及自定义模板配置---《Beetl视频课程》
本期视频设置一个全局可配置的网站标题; 内容简介:使用临时变量、全局变量、共享变量、自定义Beetl配置、使用ctxPath解决乱码、404等问题 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK 临时变量 在模板中定义的变量成为临时变量,这类似js中采用var 定义的变量,如下例子 <% var a = "xxxx"; %> 全局变量 全局变量是通过template.binding传入的变量,这些变量能在模板的任何一个地方,包括子模板都能访问到。如java代码里 template.binding("list",service.getUserList()); //在模板里 <% for(user in list){ %> hello,${user.name}; <% } %> 在请求中beetl会从request->attributes中获取变量作为模板变量,所以下面的page,blogSiteTitle也是全局变量 @GetMa...
相关文章
文章评论
共有0条评论来说两句吧...