文档章节

Beetl SpringBoot集成

leon_rock
 leon_rock
发布于 2015/11/24 11:12
字数 206
阅读 4123
收藏 3

在Spring Boot中配置Beetl,总是出现问题找不到路径的问题,

在Spring Boot中以下面这种方式配置路径:

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

Spring boot启动main类源码:

package sample.web.beetl;

import org.beetl.core.resource.WebAppResourceLoader;
import org.beetl.ext.spring.BeetlGroupUtilConfiguration;
import org.beetl.ext.spring.BeetlSpringViewResolver;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration;
import org.springframework.boot.autoconfigure.velocity.VelocityAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.DefaultResourceLoader;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternUtils;

import java.io.IOException;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, ThymeleafAutoConfiguration.class, VelocityAutoConfiguration.class})
public class SampleWebBeetlApplication {


    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleWebBeetlApplication.class, args);
    }


    @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:/templates").getFile().getPath());
            beetlGroupUtilConfiguration.setResourceLoader(webAppResourceLoader);
        } catch (IOException e) {
            e.printStackTrace();
        }

        //读取配置文件信息
        beetlGroupUtilConfiguration.setConfigFileResource(patternResolver.getResource("classpath:beetl.properties"));
        return beetlGroupUtilConfiguration;
    }

    @Bean(name = "beetlViewResolver")
    public BeetlSpringViewResolver getBeetlSpringViewResolver(@Qualifier("beetlConfig") BeetlGroupUtilConfiguration beetlGroupUtilConfiguration) {
        BeetlSpringViewResolver beetlSpringViewResolver = new BeetlSpringViewResolver();
        beetlSpringViewResolver.setPrefix("/");
        beetlSpringViewResolver.setSuffix(".html");
        beetlSpringViewResolver.setContentType("text/html;charset=UTF-8");
        beetlSpringViewResolver.setOrder(0);
        beetlSpringViewResolver.setConfig(beetlGroupUtilConfiguration);
        return beetlSpringViewResolver;
    }

}



不多说直接贴例子

http://git.oschina.net/yinjun622/Beetl-SpringBoot



© 著作权归作者所有

leon_rock

leon_rock

粉丝 73
博文 75
码字总数 17541
作品 0
大连
高级程序员
私信 提问
加载中

评论(20)

leon_rock
leon_rock 博主

引用来自“等待美丽的花儿”的评论

切换成1.4又找不到路径了。。知道是什么原因吗?

引用来自“小鲅鱼”的评论

你看看http://git.oschina.net/xiandafu/springboot_beetl_beetlsql
能不能跑起来,现在使用springboot 1.4 没有问题

引用来自“等待美丽的花儿”的评论

他那个也不行的。。但他告诉我怎么解决了。。把 ClasspathResourceLoader("/templates");改成ClasspathResourceLoader("templates/"); 具体什么原因我也不知。
改完好用了吗?
等待美丽的花儿
等待美丽的花儿

引用来自“等待美丽的花儿”的评论

切换成1.4又找不到路径了。。知道是什么原因吗?

引用来自“小鲅鱼”的评论

你看看http://git.oschina.net/xiandafu/springboot_beetl_beetlsql
能不能跑起来,现在使用springboot 1.4 没有问题
他那个也不行的。。但他告诉我怎么解决了。。把 ClasspathResourceLoader("/templates");改成ClasspathResourceLoader("templates/"); 具体什么原因我也不知。
leon_rock
leon_rock 博主

引用来自“等待美丽的花儿”的评论

切换成1.4又找不到路径了。。知道是什么原因吗?
你看看http://git.oschina.net/xiandafu/springboot_beetl_beetlsql
能不能跑起来,现在使用springboot 1.4 没有问题
等待美丽的花儿
等待美丽的花儿
切换成1.4又找不到路径了。。知道是什么原因吗?
y
yohn0726
用的ClasspathResourceLoader, 可是functions下面的html标签 在打成jar包之后没有注册上!帮忙分析下啥原因啊?在idea中运行正常。
闲大赋
闲大赋
http://git.oschina.net/xiandafu/springboot_beetl_beetlsql 参考这个工程 我又完善了,加上了beetlsql
leon_rock
leon_rock 博主

引用来自“闲大赋”的评论

有个spring boot 热记载后,beetl模板访问出错问题,解决办法
http://ibeetl.com/community/?/question/549
使用spring boot loading,好方法, 我是直接使用IDEA中reload classes的功能
闲大赋
闲大赋
有个spring boot 热记载后,beetl模板访问出错问题,解决办法
http://ibeetl.com/community/?/question/549
leon_rock
leon_rock 博主

引用来自“落小莫”的评论

引用来自“小鲅鱼”的评论

引用来自“周勇god”的评论

打包成jar,使用java -jar 运行会报错的,因为打成jar没有文件系统,
getResource("classpath:/templates").getFile().getPath()会找不到

引用来自“小鲅鱼”的评论

是的,我后来也发现了这个问题,有两种解决的方式 1.把spring boot的webapp路径配置一个指定路径 2.把获取模板路径配置改用 val classpathResourceLoader: ClasspathResourceLoader = new ClasspathResourceLoader() git上代码已经提交,请参考

引用来自“落小莫”的评论

有解决方案么? 您说的这两个看不太明白啊
还出错吗?

那个 能给我个 qq 么?
更新了一下git~ 我本地测试没有问题了 试试看看~
落小莫
落小莫

引用来自“小鲅鱼”的评论

引用来自“周勇god”的评论

打包成jar,使用java -jar 运行会报错的,因为打成jar没有文件系统,
getResource("classpath:/templates").getFile().getPath()会找不到

引用来自“小鲅鱼”的评论

是的,我后来也发现了这个问题,有两种解决的方式 1.把spring boot的webapp路径配置一个指定路径 2.把获取模板路径配置改用 val classpathResourceLoader: ClasspathResourceLoader = new ClasspathResourceLoader() git上代码已经提交,请参考

引用来自“落小莫”的评论

有解决方案么? 您说的这两个看不太明白啊
还出错吗?

那个 能给我个 qq 么?
SpringBoot、Beetl、BeetlSql 集成的自动转配工具

beetl-framework-starter 是 SpringBoot 与 Beetl 和 BeetlSql 集成的自动转配工具,只需要添加如下依赖就可以自动使用 Beetl 和 BeetlSql 的功能。...

王练
2017/06/07
146
0
Beetl Starter 1.1.0发布,SpringBoot自动装配工具

beetl-framework-starter 是 SpringBoot 与 Beetl 和 BeetlSql 集成的自动转配工具,只需要添加如下依赖就可以自动使用 Beetl 和 BeetlSql 的功能 默认情况下,Beetl的模板配置在templates目...

闲大赋
2017/06/07
1
0
SpringBoot-Plus 1.3.1 发布,后台管理系统

本次更新包含如下内容 Beetl 和 BeetSQL更新到最新版本 Spring Boot 更新到最新版本2.1.5 修复了系统生成和代码生成的问题 完善了找不到页面的的提示信息,这是使用SpringBoot-Plus 最常见的...

闲大赋
06/24
4.6K
6
Beetl Starter 1.1.32 发布,增强定制接口

这次发布增强了Starter定制Beetl和BeetlSQL的接口 提供BeetlSqlCustomize类定制BeetlSQL 提供BeetlTemplateCustomize类定制Beetl POM beetl-framework-starter 是 SpringBoot 与 Beetl 和 Be......

闲大赋
2018/01/24
771
2
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
2.8K
4

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
7分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
11分钟前
3
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
33分钟前
2
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
33分钟前
2
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
35分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部