freemarker中调用java方法,除了内建函数,自定义的怎么调用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker中调用java方法,除了内建函数,自定义的怎么调用?相关的知识,希望对你有一定的参考价值。

参考技术A 1. freemarker只能通过EL表达式获取后台参数(list、map、bean、字符串等)

2. 自定义的是宏(macro)
3. 宏是由内建函数或者指令或者html标签组成

我不清楚你所指的是调用Java方法是指????
freemarker不支持嵌入Java脚本的!!!
freemarker只是一个模板引擎。。
参考技术B <@自定义函数名/>这种方法应该可以得到本回答被提问者采纳

FreeMarker中调用Java方法的实现

FreeMarker中调用Java后台中的方法。

需要在Controller传回模板的时候,把该方法的类进去,类似如下的方法:

model.addAttribute("freeMarkerHelper", new FreeMarkerHelper());

model.addAttribute("myController", this);this参数为当前的Controller

假设this类中有个convertStatusToString方法如下:

public String convertStatusToString(String s) {

return "未知";

}

需要调用的方法就在FreeMarkerHelper 或者 this的这个类里面,不需要静态也能调用到。

在前端调用的时候,需要assign指令配合使用,如下代码:

<#assign status=freeMarkerHelper.getJson(p.status)>${status}

<#assign status=myController.convertStatusToString(p.status)>${status}

以上是关于freemarker中调用java方法,除了内建函数,自定义的怎么调用?的主要内容,如果未能解决你的问题,请参考以下文章

FreeMarker中调用Java方法的实现

如何从 FreeMarker 模板调用对象的 java 方法?

FreeMarker里如何调用java代码?

笔记之_Java整理freemarker

FreeMarker里如何调用java代码?

FreeMarker学习(内建函数参考)