Template engine has already been initialized (probably because it has already been executed or a ful

在使用TemplateEngine模版引擎时发现报错:Template engine has already been initialized (probably because it has already been executed or a fully-built Configuration object has been requested from it. At this state, no modifications on its configuration are allowed.
最后发现是反复使用模板并且进行了初始化才报这个错误

ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setSuffix(".html");
templateEngine.setTemplateResolver(templateResolver);

进入方法setTemplateResolver发现每次调这个方法时都会进行初始化,所以才报错

public void setTemplateResolver(ITemplateResolver templateResolver) {
        Validate.notNull(templateResolver, "Template Resolver cannot be null");
        this.checkNotInitialized();
        this.templateResolvers.clear();
        this.templateResolvers.add(templateResolver);
}

于是在调方法setTemplateResolver前对模板做了是否已初始化校验如下

ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setSuffix(".html");
if (!templateEngine.isInitialized()) {
	templateEngine.setTemplateResolver(templateResolver);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值