1

我知道有可能在这样的模板中定义一个方法:

@def myMethod(String parameter){
     before @parameter after 
}

并使用它:

@myMethod("my object")

这将输出: before my object after 我可以myMethod在 Java 代码中定义并在多个模板中使用它吗?

4

1 回答 1

0

您不需要在 Java 代码中定义该方法。相反,在您的 rythm模板主目录中创建一个名为 的文件__global.rythm,并在那里定义该方法,然后您的所有 rythm 模板将自动选择该方法,因为__global.rythm将由@include每个模板中的 Rythm 引擎自动执行。下面是我项目中一个真实的全局节奏文件:

@import com.abc.model.*
@import org.rythmengine.spring.web.Csrf
@import org.rythmengine.RythmEngine
@import com.abc.AppConfig
@import com.abc.model.color.*;
@args Csrf csrf


@def String csrfParam() {
  return "__csrf=" + ((null == csrf) ? "nocsrf" : csrf.value);
}

@def RythmEngine rythm() {
  return __engine();
}

@def User me() {
  return User.me();
}

@def boolean loggedIn() {
  return User.me() != null;
}

@def String host() {
  return com.abc.AppConfig.host()
}
于 2015-06-19T20:54:42.720 回答