beetl模板入门例子
加入maven依赖
- <dependency>
- <groupId>org.beetl</groupId>
- <artifactId>beetl-core</artifactId>
- <version>2.2.3</version>
- </dependency>
模板文件 src/main/resources/template/hello.btl 的内容为:
hello ${name}
你好:${name}
例子代码如下:
- package com.lala.template;
- import org.beetl.core.Configuration;
- import org.beetl.core.GroupTemplate;
- import org.beetl.core.Template;
- import org.beetl.core.resource.ClasspathResourceLoader;
- import org.beetl.core.resource.FileResourceLoader;
- import org.beetl.core.resource.StringTemplateResourceLoader;
- public class Beetl
- {
- /**
- * 加载classpath下的资源
- * @throws Exception
- */
- static void classpathRL()throws Exception
- {
- ClasspathResourceLoader resourceLoader = new ClasspathResourceLoader();
- Configuration cfg = Configuration.defaultConfiguration();
- GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
- Template t = gt.getTemplate("/template/hello.btl");
- t.binding("name", "beetl");
- String str = t.render();
- System.out.println(str);
- }
- /**
- * 加载文件系统下的资源
- * @throws Exception
- */
- static void filePathRL()throws Exception
- {
- String root = "E:\\pp\\src\\camel-web\\src\\main\\resources\\template";
- FileResourceLoader resourceLoader = new FileResourceLoader(root,"utf-8");
- Configuration cfg = Configuration.defaultConfiguration();
- GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
- Template t = gt.getTemplate("hello.btl");
- t.binding("name", "beetl");
- String str = t.render();
- System.out.println(str);
- }
- /**
- * 直接构建字符串
- * @throws Exception
- */
- static void stringBeetl()throws Exception
- {
- StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader();
- Configuration cfg = Configuration.defaultConfiguration();
- GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
- Template t = gt.getTemplate("hello,${name} \r\n你好:${name}");
- t.binding("name", "beetl");
- String str = t.render();
- System.out.println(str);
- }
- }
servlet例子如下:
- package com.lala.template;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.beetl.core.Configuration;
- import org.beetl.core.GroupTemplate;
- import org.beetl.core.Template;
- import org.beetl.core.resource.WebAppResourceLoader;
- @WebServlet("/beetl")
- public class BeetlServlet extends HttpServlet
- {
- private static final long serialVersionUID = 1L;
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
- {
- resp.setCharacterEncoding("UTF-8");
- resp.setContentType("text/html;charset=UTF-8");
- WebAppResourceLoader resourceLoader = new WebAppResourceLoader(this.getServletContext().getRealPath("/"), "UTF-8");
- Configuration cfg = Configuration.defaultConfiguration();
- GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
- Template t = gt.getTemplate("/template/webhello.btl");
- t.binding("name", "beetl");
- t.renderTo(resp.getWriter());
- }
- }
转载于:https://www.cnblogs.com/telwanggs/p/7064497.html
beetl模板入门例子相关推荐
- SpringBoot集成beetl模板快速入门
SpringBoot集成beetl模板快速入门 本文引导 SpringBoot集成beetl模板快速入门 创建SpringBoot工程(idea) 新建工程 修改maven本地仓库位置 配置Sprin ...
- Spring Boot 2 精髓学习笔记(五)---Beetl 模板引擎(1)
本节介绍MVC 中的视图技术之模板引擎Beetl ,用于渲染模板. 一.Beetl模板引擎 Beetl是2010 年开发井维护至今的一个模板引擎,具有如下特点: 功能完备.作为主流模板引擎,适用于各种 ...
- beetl模板使用场景_Java 模板引擎 Beetl 2.0 发布
Java开源模板引擎 Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由 ...
- Cassandra 单机入门例子——有索引
入门例子: http://wiki.apache.org/cassandra/GettingStarted 添加环境变量并source生效,使得可以在任意位置执行cassandra/bin安装目录下的 ...
- spark streaming 入门例子
spark streaming 入门例子: spark shell import org.apache.spark._ import org.apache.spark.streaming._sc.ge ...
- 图解VC++2012编译安装GDAL1.11.0和入门例子
相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar ...
- Orleans入门例子
Orleans是微软开源的分布式actor模型框架.actor模型的原理网络上有很多文章.有许多理论性的文章,深刻地我都不知道怎么应用.在这里我就不赘述了.既然是博客,就说说自己的理解. 对于编程来说 ...
- Orleans 初接触(一) 入门例子
[返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.Orleans入门例子 这个例子是跟着<Orleans入门例子>(https://www.cnblogs. ...
- [深度学习-实践]CycleGAN的入门例子-Tensorflow2.1-keras
系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...
最新文章
- Spread for Windows Forms高级主题(5)---数据处理
- 怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务
- golang unrecognized import path golang.org/x/net 完美解决方案
- 2018-2019-2 网络对抗技术 20165227 Exp4 恶意代码分析
- 学好java再学c 可以吗_再论学好C的重要性!!!
- SuperSocket服务器架设(一):认识SuperSocket
- Python图像处理之图片文字识别(OCR)
- 多系统对接的实现方案
- spark another attempt succeeded
- 马来西亚数字自由贸易区的发展实践
- python自动测试相机_OpenCV-Python 相机校准 | 四十九
- 最新十大域名注册商.com域名注册量排行榜
- DOS中使用扩展内存与XMS操作库设计
- 《金融科技(FinTech)发展规划(2019-2021年)》梳理
- 如何实现超大文件(60G)传输给别人?
- 1024 科学计数法 (20 分) 完全解析(C++详细思路)
- 人工智能对客服职业的影响
- 【kafka源码】/log_dir_event_notification的LogDir脱机事件通知
- 联想x3850x6从u盘引导_联想扬天T4900v进入bios中设置legacy和uefi两种引导模式U盘启动教程...
- Qt4.8.6移植到hi3559(四)
热门文章
- Redis之数据结构和底层编码
- (125)FPGA面试题-熟悉AXI总线吗,介绍AXI
- (21)System Verilog按时间顺序的通知需求(变量驱动)
- (09)FPGA时序分析模型
- 马里兰大学calce电池循环测试数据集_Keras-建立RNN(循环神经网络)
- 2.STM32F407ZGT6 学习笔记-移植 FreeRTOS
- python中scrapy是什么_python中Scrapy数据流是什么
- LINUX之samba服务器的安装与配置(基于redhat 6.3发行版)
- 内核中的notification chain浅析
- 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)