perwendel / spark-template-engines

Repository for different Template engine implementations.
Apache License 2.0
134 stars 101 forks source link

[Thymeleaf] Support the additional Dialects #70

Open yoshikawaa opened 6 years ago

yoshikawaa commented 6 years ago

Problem

If we want to use our own Thymeleaf dialect with spark-template-thymeleaf, there is no point we can add them... I think it would be nice to be able to add dialects in the ThymeleafTemplateEngine.

Coding Point

Way 1 : adding constructor and initialize method
    public ThymeleafTemplateEngine(IDialect... additionalDialects) {
        this(DEFAULT_PREFIX, DEFAULT_SUFFIX, additionalDialects);
    }

    public ThymeleafTemplateEngine(String prefix, String suffix, IDialect... additionalDialects) {
        initialize(createDefaultTemplateResolver(prefix, suffix), additionalDialects);
    }

    public ThymeleafTemplateEngine(ITemplateResolver templateResolver, IDialect... additionalDialects) {
        initialize(templateResolver, additionalDialects);
    }

    private void initialize(ITemplateResolver templateResolver, IDialect... additionalDialects) {
        templateEngine = new org.thymeleaf.TemplateEngine();
        templateEngine.setTemplateResolver(templateResolver);
        templateEngine.addDialect(new Java8TimeDialect());
        if (additionalDialects != null && additionalDialects.length > 0) {
            templateEngine.setAdditionalDialects(new HashSet<>(Arrays.asList(additionalDialects)));
        }
    }
Way 2 : chahge accessibility of the templateEngine field and initialize method to protected

The user extends and uses this.


Please consider according to your implementation policy, thanks.