Dropwizard Freemarker配置:FreemarkerViewRenderer,ViewRenderer和ServiceFinder(泽西)

时间:2014-10-21 12:55:33

标签: templates jersey freemarker dropwizard

我试图为字符串实体使用freemarker模板,但我不知道如何获取和处理模板。

在这篇文章中 - > https://groups.google.com/forum/#!topic/dropwizard-user/BUcI9y2FjLs第一篇帖子说,#34;似乎访问Freemarker配置对象的唯一方法是实现我自己的FreemarkerViewRenderer版本"。

任何人都可以确认是否有其他方法可以从freemarker模板创建自定义消息?

有谁知道如何实现我自己的FreemarkerViewRenderer版本并将其添加到Dropwizard中,以便在我的资源类中可以访问它?

据我所知,我可以通过以下方式获取FreemarkerViewRenderer:

        Iterable<ViewRenderer> found = com.sun.jersey.spi.service.ServiceFinder.find(ViewRenderer.class);
        for (ViewRenderer vr : found) {
            System.out.println(vr.getClass().getName());        
        }

但是如何用额外的getConfig()覆盖这个类?

1 个答案:

答案 0 :(得分:0)

我发现,配置类可以手动构建(参见freemarker + java教程)。然后你有DW freemarker实例和你自己的实例。那应该没问题。创建一个新的freemarker配置的主要问题是,它不是很便宜,这意味着,为每个请求构建一个配置是一个坏主意,但如果你只有2个配置实例,那么应该没有问题。

最后,我创建了自己的配置,DW有第二个配置。配置缓存将丢失,如果你创建一个新缓存,但我只构建一个配置实例来满足我的所有请求,因此丢失缓存信息对我来说没问题。

相关问题