02.Beetl模板的基础用法 【变量、循环、条件】---《Beetl视频课程》

  1. 云栖社区>
  2. 博客>
  3. 正文

02.Beetl模板的基础用法 【变量、循环、条件】---《Beetl视频课程》

gavinking 2018-11-24 09:43:50 浏览455
展开阅读全文

本期视频做了一个博客的首页列表;

内容简介: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

网友评论

登录后评论
0/500
评论
gavinking
+ 关注