首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Freemarker多配置实例

Freemarker多配置实例
EN

Stack Overflow用户
提问于 2014-04-10 13:09:34
回答 1查看 698关注 0票数 1

我正在尝试创建两个独立的共济会配置实例。我有这样的抽象课

代码语言:javascript
复制
public abstract class AbstractFreemarkerConfiguration {

Logger logger = LoggerFactory.getLogger(AbstractFreemarkerConfiguration.class);

Configuration cfg = new Configuration();

public AbstractFreemarkerConfiguration() throws IOException, TemplateModelException {
    logger.info("Initializing Freemarker Config");
    cfg.setDefaultEncoding("UTF-8");
    setTemplateExceptionHandler();
    cfg.setSharedVariable("layout", getLayoutDirectives());
    cfg.setTemplateUpdateDelay(0);
    cfg.setLocalizedLookup(false);

}

@Autowired
@Qualifier("databaseTemplateLoader")
public void setTemplateLoader(TemplateLoader loader){
    logger.info("Setting hibernate teplate loader");
    cfg.setTemplateLoader(loader);

}

public abstract void setTemplateExceptionHandler();
}

然后我有两个班像这样

代码语言:javascript
复制
@Component("freemarkerProcessor")
public class FreemarkerTemplateProcessor extends AbstractFreemarkerConfiguration implements TemplateProcessor {

public FreemarkerTemplateProcessor() throws IOException, TemplateModelException {
    super();
}

private Environment process(Object template) {
    Writer writer = new NullWriter();
    //do stuff
}

@Override
public List<String> getIncludes(Object template) {
    //do stuff
}

@Override
public void setTemplateExceptionHandler() {
    cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
}

}

第二个基本相同,但将模板异常处理程序设置为RETHROW_HANDLER

我的问题是,当我这样做时,当我得到一个有忽略处理程序的异常时,它将通过RETHROW而不是忽略它。

在调试过程中,我决定必须分离配置实例和TemplateExpetionHandler实例,因此我不知道为什么要使用忽略处理程序获得异常。

是否有一些全局的配置设置或者一些我不知道的东西?

谢谢你的回应。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 14:45:54

所以我想明白了。我有两个春季服务,一个是忽略服务,另一个是RETHROW服务。我从那个带有RETHROW的模板对象中获得了freemarker模板对象,看起来模板对象保持了基于原始配置的ExceptionHandler设置。

因此,当我处理RETHROW的模板时,它仍然使用RETHROW,因为该模板来自该配置。

当我从忽略一个加载模板时,它一直忽略,甚至在RETHROW上也是如此。这对我来说绝对是出乎意料的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22989049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档