加入maven依赖

[html] view plaincopy
  1. <dependency>
  2. <groupId>org.beetl</groupId>
  3. <artifactId>beetl-core</artifactId>
  4. <version>2.2.3</version>
  5. </dependency>

模板文件 src/main/resources/template/hello.btl 的内容为:

hello ${name}
你好:${name}

例子代码如下:

[java] view plaincopy
  1. package com.lala.template;
  2. import org.beetl.core.Configuration;
  3. import org.beetl.core.GroupTemplate;
  4. import org.beetl.core.Template;
  5. import org.beetl.core.resource.ClasspathResourceLoader;
  6. import org.beetl.core.resource.FileResourceLoader;
  7. import org.beetl.core.resource.StringTemplateResourceLoader;
  8. public class Beetl
  9. {
  10. /**
  11. * 加载classpath下的资源
  12. * @throws Exception
  13. */
  14. static void classpathRL()throws Exception
  15. {
  16. ClasspathResourceLoader resourceLoader = new ClasspathResourceLoader();
  17. Configuration cfg = Configuration.defaultConfiguration();
  18. GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
  19. Template t = gt.getTemplate("/template/hello.btl");
  20. t.binding("name", "beetl");
  21. String str = t.render();
  22. System.out.println(str);
  23. }
  24. /**
  25. * 加载文件系统下的资源
  26. * @throws Exception
  27. */
  28. static void filePathRL()throws Exception
  29. {
  30. String root = "E:\\pp\\src\\camel-web\\src\\main\\resources\\template";
  31. FileResourceLoader resourceLoader = new FileResourceLoader(root,"utf-8");
  32. Configuration cfg = Configuration.defaultConfiguration();
  33. GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
  34. Template t = gt.getTemplate("hello.btl");
  35. t.binding("name", "beetl");
  36. String str = t.render();
  37. System.out.println(str);
  38. }
  39. /**
  40. * 直接构建字符串
  41. * @throws Exception
  42. */
  43. static void stringBeetl()throws Exception
  44. {
  45. StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader();
  46. Configuration cfg = Configuration.defaultConfiguration();
  47. GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
  48. Template t = gt.getTemplate("hello,${name} \r\n你好:${name}");
  49. t.binding("name", "beetl");
  50. String str = t.render();
  51. System.out.println(str);
  52. }
  53. }

servlet例子如下:

[java] view plaincopy
  1. package com.lala.template;
  2. import java.io.IOException;
  3. import javax.servlet.ServletException;
  4. import javax.servlet.annotation.WebServlet;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import org.beetl.core.Configuration;
  9. import org.beetl.core.GroupTemplate;
  10. import org.beetl.core.Template;
  11. import org.beetl.core.resource.WebAppResourceLoader;
  12. @WebServlet("/beetl")
  13. public class BeetlServlet extends HttpServlet
  14. {
  15. private static final long serialVersionUID = 1L;
  16. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
  17. {
  18. resp.setCharacterEncoding("UTF-8");
  19. resp.setContentType("text/html;charset=UTF-8");
  20. WebAppResourceLoader  resourceLoader = new WebAppResourceLoader(this.getServletContext().getRealPath("/"), "UTF-8");
  21. Configuration cfg = Configuration.defaultConfiguration();
  22. GroupTemplate gt = new GroupTemplate(resourceLoader, cfg);
  23. Template t = gt.getTemplate("/template/webhello.btl");
  24. t.binding("name", "beetl");
  25. t.renderTo(resp.getWriter());
  26. }
  27. }

转载于:https://www.cnblogs.com/telwanggs/p/7064497.html

beetl模板入门例子相关推荐

  1. SpringBoot集成beetl模板快速入门

    SpringBoot集成beetl模板快速入门 本文引导 SpringBoot集成beetl模板快速入门 创建SpringBoot工程(idea) 新建工程 修改maven本地仓库位置 配置Sprin ...

  2. Spring Boot 2 精髓学习笔记(五)---Beetl 模板引擎(1)

    本节介绍MVC 中的视图技术之模板引擎Beetl ,用于渲染模板. 一.Beetl模板引擎 Beetl是2010 年开发井维护至今的一个模板引擎,具有如下特点: 功能完备.作为主流模板引擎,适用于各种 ...

  3. beetl模板使用场景_Java 模板引擎 Beetl 2.0 发布

    Java开源模板引擎 Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由 ...

  4. Cassandra 单机入门例子——有索引

    入门例子: http://wiki.apache.org/cassandra/GettingStarted 添加环境变量并source生效,使得可以在任意位置执行cassandra/bin安装目录下的 ...

  5. spark streaming 入门例子

    spark streaming 入门例子: spark shell import org.apache.spark._ import org.apache.spark.streaming._sc.ge ...

  6. 图解VC++2012编译安装GDAL1.11.0和入门例子

    相关下载 http://pan.baidu.com/s/1o7OEMc6 gdal1.rar - 入门例子 GDAL书籍代码及数据.rar gdal1110.zip - 下载的源码 GDAL.rar ...

  7. Orleans入门例子

    Orleans是微软开源的分布式actor模型框架.actor模型的原理网络上有很多文章.有许多理论性的文章,深刻地我都不知道怎么应用.在这里我就不赘述了.既然是博客,就说说自己的理解. 对于编程来说 ...

  8. Orleans 初接触(一) 入门例子

    [返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.Orleans入门例子 这个例子是跟着<Orleans入门例子>(https://www.cnblogs. ...

  9. [深度学习-实践]CycleGAN的入门例子-Tensorflow2.1-keras

    系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...

最新文章

  1. Spread for Windows Forms高级主题(5)---数据处理
  2. 怎样用u盘linux安装ntp协议,电脑中怎么配置NTP服务
  3. golang unrecognized import path golang.org/x/net 完美解决方案
  4. 2018-2019-2 网络对抗技术 20165227 Exp4 恶意代码分析
  5. 学好java再学c 可以吗_再论学好C的重要性!!!
  6. SuperSocket服务器架设(一):认识SuperSocket
  7. Python图像处理之图片文字识别(OCR)
  8. 多系统对接的实现方案
  9. spark another attempt succeeded
  10. 马来西亚数字自由贸易区的发展实践
  11. python自动测试相机_OpenCV-Python 相机校准 | 四十九
  12. 最新十大域名注册商.com域名注册量排行榜
  13. DOS中使用扩展内存与XMS操作库设计
  14. 《金融科技(FinTech)发展规划(2019-2021年)》梳理
  15. 如何实现超大文件(60G)传输给别人?
  16. 1024 科学计数法 (20 分) 完全解析(C++详细思路)
  17. 人工智能对客服职业的影响
  18. 【kafka源码】/log_dir_event_notification的LogDir脱机事件通知
  19. 联想x3850x6从u盘引导_联想扬天T4900v进入bios中设置legacy和uefi两种引导模式U盘启动教程...
  20. Qt4.8.6移植到hi3559(四)

热门文章

  1. Redis之数据结构和底层编码
  2. (125)FPGA面试题-熟悉AXI总线吗,介绍AXI
  3. (21)System Verilog按时间顺序的通知需求(变量驱动)
  4. (09)FPGA时序分析模型
  5. 马里兰大学calce电池循环测试数据集_Keras-建立RNN(循环神经网络)
  6. 2.STM32F407ZGT6 学习笔记-移植 FreeRTOS
  7. python中scrapy是什么_python中Scrapy数据流是什么
  8. LINUX之samba服务器的安装与配置(基于redhat 6.3发行版)
  9. 内核中的notification chain浅析
  10. 【STM32】HAL库 STM32CubeMX教程十一---DMA (串口DMA发送接收)