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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启