SpringBoot集成beetl模板快速入门

首次探索

beetl官方网址:http://ibeetl.com/

创建SpringBoot工程(idea)

新建工程

  1. 选择创建Spring工程

  2. 书写包名和项目名称等

  3. 选择集成web依赖

  4. 确认项目保存路径信息

修改maven本地仓库位置

maven本地仓库位置,默认在C盘的:

"C:\Users\用户名 \ .m2\repository"

可以复制maven工程下的setting.xml修改其文件,详情见该博客

http://blog.csdn.net/pyfysf/article/details/78623033

(该步骤可以忽略)

配置SpringBoot工程热部署

配置SpringBoot工程热部署

可以参考该博客:

http:// blog.csdn.net/pyfysf/article/details/78791292

(该步骤也可忽略.)

注:如果没有此步骤,每次修改工程文件都必须重启服务器

添加beetl依赖

关于beetl的介绍和说明请查看官方网站具体介绍

http://ibeetl.com/

添加maven依赖
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl-framework-starter</artifactId>
<version>1.1.22.RELEASE</version>
</dependency>

添加beetl配置

在项目的运行入口文件SpringbootbeetlApplication.java中加入下面代码

@Bean(initMethod = "init", name = "beetlConfig")
public BeetlGroupUtilConfiguration getBeetlGroupUtilConfiguration() {
BeetlGroupUtilConfiguration beetlGroupUtilConfiguration = new BeetlGroupUtilConfiguration();
ResourcePatternResolver patternResolver = ResourcePatternUtils.getResourcePatternResolver(new DefaultResourceLoader());
try {
// WebAppResourceLoader 配置root路径是关键
WebAppResourceLoader webAppResourceLoader =
new WebAppResourceLoader(patternResolver.getResource("classpath:/").getFile().getPath());
beetlGroupUtilConfiguration.setResourceLoader(webAppResourceLoader);
} catch (IOException e) {
e.printStackTrace();
}
//读取配置文件信息
return beetlGroupUtilConfiguration;
} @Bean(name = "beetlViewResolver")
public BeetlSpringViewResolver getBeetlSpringViewResolver(@Qualifier("beetlConfig") BeetlGroupUtilConfiguration beetlGroupUtilConfiguration) {
BeetlSpringViewResolver beetlSpringViewResolver = new BeetlSpringViewResolver();
beetlSpringViewResolver.setPrefix("WEB-INF/views/");
beetlSpringViewResolver.setSuffix(".html");
beetlSpringViewResolver.setContentType("text/html;charset=UTF-8");
beetlSpringViewResolver.setOrder(0);
beetlSpringViewResolver.setConfig(beetlGroupUtilConfiguration);
return beetlSpringViewResolver;
}

解释:

设置beetl的根路径

  WebAppResourceLoader webAppResourceLoader =
new WebAppResourceLoader(patternResolver.getResource("classpath:/").getFile().getPath());

注:beetl的默认根路径为resources/templates文件夹。如丄行代码设置resources文件夹即为根路径

beetlSpringViewResolver.setPrefix("WEB-INF/views/");

注:如丄行代码设置即为beetl的路径为resources文件夹下的WEB-INF/views/

设置后缀

beetlSpringViewResolver.setSuffix(".html");

注:beetl的默认后缀为btl。如丄行代码设置即为beetl的后缀设置为html

  • 所以假设项目Controller代码中 return "add";
  • 那么跳转的页面即为resources/WEB-INF/views/add.html

beetl的其他常用配置

在resources文件夹下创建beetl.properties,可以在里面修改一些默认配置,比如把默认定界符号<%%>修改为@

DELIMITER_STATEMENT_START=@
DELIMITER_STATEMENT_END=

加入这么两行代码就可以了

默认定界符号使用:

	<%
var a = 2;
var b = 3;
var result = a+b;
%>
hello 2+3=${result}

修改定界符号为@后使用:

       @var a = 2;
@var b = 3;
@var result = a+b;
hello 2+3=${result}

其他配置详见beetl官方网站

创建Controller进行测试

浏览器中输入

http://localhost:8080/home/add

即可进行测试

测试获取contextPath和后台返回的数据

在springboot的主配置文件application.yml中

进行如下配置

server:
context-path: /springbootbeetl

修改Controller代码为:


@Controller
@RequestMapping("/home")
public class HelloBeetlController { private static Logger logger = LoggerFactory.getLogger(HelloBeetlController.class); /**
* 测试beetl模板
*
* @return
*/
@RequestMapping("/add")
public ModelAndView home() { ModelAndView modelAndView = new ModelAndView();
logger.info("add request");
modelAndView.addObject("email", "apk2sf@163.com");
modelAndView.setViewName("add"); return modelAndView;
} }

修改add.html

	<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>add</title>
</head>
<body>
add Html web info <hr>
获取项目的context-path-->${ctxPath}
<hr>
获取后台返回的数据--->${email} </body>
</html>
  • 项目结构

  • 浏览器访问测试

http://localhost:8080/springbootbeetl/home/add

  • 测试结果

SpringBoot集成beetl模板快速入门的更多相关文章

  1. Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 【持续集成与交付快速入门必备】

    Jenkins 从小白入门到企业实践打怪放弃之路系列笔记 [持续集成与交付快速入门必备]

  2. Beetl模板引擎入门教程

    最近项目中有个邮件发送的需求,不过要求发送的HTML格式的邮件.由于Beetl对java语言的良好支持和很好的性能,我们决定使用Beetl作为我们的模板引擎. Beetl官网已经有了很详细的教程,所以 ...

  3. 九、SpringBoot集成Thymeleaf模板引擎

    Thymeleaf咋读!??? 呵呵,是不是一脸懵逼...哥用我的大学四级英文知识告诉你吧:[θaimlif]. 啥玩意?不会音标?...那你就这样叫它吧:“赛母李府”,大部分中国人是听不出破绽的.. ...

  4. SpringBoot(一、快速入门)

    1.SpringBoot简介   Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置, ...

  5. Vue.js——60分钟webpack项目模板快速入门

    概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...

  6. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

  7. SpringBoot集成Thymeleaf模板引擎

    简单介绍 目前在JavaEE领域有几中比较常用的模板引擎,分别是Jsp.Velocity.Freemarker.Thymeleaf,对Freemark语法不是特别熟悉,不过对于前端页面渲染效率来说,j ...

  8. Vue.js——60分钟webpack项目模板快速入门

    概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...

  9. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

随机推荐

  1. 浅谈浏览器http的缓存机制 good

    http://www.cnblogs.com/vajoy/p/5341664.html

  2. Android无布局文件下自定义通知栏notification的 icon

    在开发项目一个与通知栏有关的功能时,由于自己的项目是基于插件形式的所以无法引入系统可用的布局文件,这样无法自定义布局,造成无法自定义通知栏的icon. 在网上也有一种不用布局文件更换icon的方法,但 ...

  3. 窗体图片背景(两种方法:设置Brush.Bitmap指向图片,别的控件也可以这样)

    var   Bitmap: TBitmap; procedure TForm1.FormCreate(Sender: TObject); begin   Bitmap := TBitmap.Creat ...

  4. SqlServer 动态SQL(存储过程)中Like 传入参数无正确返回值的问题

    最近在做项目时,以动态Sql进行Like语句查询时发现应该返回的结果却一直返回空,后来发现是写法错误: 错误SQL: DECLARE @0 varchar(20) SET @0 = 'XA-LZ' S ...

  5. ASP.NET Web API 直到我膝盖中了一箭【1】基础篇

    蓦然回首,那些年,我竟然一直很二. 小时候,读武侠小说的时候,看到那些猪脚,常常会产生一种代入感,幻想自己也会遭遇某种奇遇,遇到悬崖跳下去是不是有本“武林秘笈”在等着?长大以后也是一样,多少人梦着醒着 ...

  6. 如何打造VUCA时代的敏捷型组织?

    王明兰 --原华为.微软创新与转型教练.华为云SaaS产品总监,著名精益&敏捷转型专家 VUCA最早来源于冷战时期,在现代世界意指商业世界越来越不确定性,越来越易变,越来越不可预测,我们已经进 ...

  7. 『 效率工具 』Spring Boot版的轻量级代码生成器,减少70%以上的开发任务

    一. 前言 之前很着迷于代码自动生成,减少写重复代码的工作量.网络上也搜索了很久,有基于插件的,有GUI的.但其配置和学习成本都比较高,都不是很如我意. 本想自己用SpringBoot写一个,在收集相 ...

  8. [UWP]从头开始创建并发布一个番茄钟

    1. 自己用的番茄钟自己做 在PC上我一直使用"小番茄"作为我的番茄钟软件,我把它打开后放在副显示器最大化,这样不仅可以让它尽到本分,而且还可以告诉我的同事"我正在专心工 ...

  9. 为什么wepy的数据无法渲染到实例里面去

    为啥明明WEPY是将数据渲染到视图还会出这个问题呢? 因为只是类似于 Vue 框架,所以不能完全实现数据渲染,尤其当异步操作的时候. (1)WePy 普通数据绑定. WePY使用脏数据检查对setDa ...

  10. IDEA中Maven依赖包下载不了的问题解决方案汇总

    第一种方案: 第二种方案:下面的几个不要选择. 第三种方案:可能是某一个 dependency 依赖无法下载,导致整个项目都报错 打开具体的报错的maven项目的pom.xml.试着去删除一些 dep ...