java - 如何在 JTwig 中调用自定义函数?

标签 java spring-mvc jtwig

是否可以从 JTwig 模板调用自定义函数(比如静态方法)?

例如,在 Thymeleaf 框架中,我可以通过其类的全名调用任何静态方法。所以我正在为 JTwig 寻找类似的东西。

最佳答案

这没有很好的记录,但这里是纯 Java 的片段:

final SimpleJtwigFunction myFunction = new SimpleJtwigFunction() {
            @Override
            public String name() {
                return "get_type";
            }

            @Override
            public Object execute(FunctionRequest functionRequest) {
                return "toto";
            }
        };

final EnvironmentConfiguration configuration = EnvironmentConfigurationBuilder
            .configuration()
            .functions()
                .add(myFunction)
            .and()
        .build();

final JtwigTemplate template = JtwigTemplate.classpathTemplate("hive_create_table.sql.twig", configuration);

和模板:

CREATE EXTERNAL TABLE sample2(
{% for field in fields%}{% if field.name != "serialVersionUID" %}
`{{ field.name }}`:{{ field.type | get_type | upper }},{% endif %}{% endfor %}
)

关于java - 如何在 JTwig 中调用自定义函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41614100/

相关文章:

java - 如何使用网络浏览器制作 P2P 流媒体?

java - Java 中最准确的时间类型?

java - 使用子元素的 JAXB 注释

java - 带自定义适配器的 ListView 不加载标题数组,仅使用抽屉导航加载 0

java - 扩展 Spring 框架 (Java) Servlet

java - Spring MVC - 如何检查没有传递意外的查询字符串参数?

java - Spring Data JPA 中查询关键字 Containing、IsContaining、Contains、Like 之间的区别

java - 删除请求的 Controller 不起作用