Java 播放框架';设置';模板标记在文件之间不起作用

Java 播放框架';设置';模板标记在文件之间不起作用,java,playframework,template-engine,playframework-1.x,Java,Playframework,Template Engine,Playframework 1.x,我正在使用play framework 1.2.5进行一个项目 我有两个自定义标记文件,一个用于“设置”值 #{set foo:'bar' /} 和另一个“获取”此值的文件,以决定是否显示某些标记 %{ if(foo) { %} #{doBody /} %{ } }% 以前的play版本(不记得是哪个版本)中使用过,现在不起作用了,我不确定是升级本身还是其他什么东西坏了 根据模板引擎标记的播放文档,设置应在不同文件之间工作: 定义一个值,该值可以在同一模板或任何带有get标记的布局

我正在使用play framework 1.2.5进行一个项目

我有两个自定义标记文件,一个用于“设置”值

#{set foo:'bar' /}
和另一个“获取”此值的文件,以决定是否显示某些标记

%{  if(foo) { %}
    #{doBody /}
%{ } }%
以前的play版本(不记得是哪个版本)中使用过,现在不起作用了,我不确定是升级本身还是其他什么东西坏了

根据模板引擎标记的播放文档,设置应在不同文件之间工作:

定义一个值,该值可以在同一模板或任何带有get标记的布局中检索。

有什么可能是错误的线索吗


提前感谢

设置
仅适用于将数据传递到扩展模板的子模板,例如

父模板:

<html>
<title>${get 'title'}</titl>
...
</html>
$extends('parent.html')
${set title: 'My Title'/}
Hello @who
@bar("World")
@// or
@bar(who: "world")
@// or
@bar({who: "world"})
要将数据从一个模板传递到另一个模板,必须将被调用方模板定义为标记。有关更多详细信息,请参阅play的文档。注:我不确定标记是否可以扩展另一个标记,很可能是不可能的

如果您使用的是插件,那么就容易多了。例如,从模板
foo
调用
bar
可以非常简单

条形图模板:

<html>
<title>${get 'title'}</titl>
...
</html>
$extends('parent.html')
${set title: 'My Title'/}
Hello @who
@bar("World")
@// or
@bar(who: "world")
@// or
@bar({who: "world"})
foo模板:

<html>
<title>${get 'title'}</titl>
...
</html>
$extends('parent.html')
${set title: 'My Title'/}
Hello @who
@bar("World")
@// or
@bar(who: "world")
@// or
@bar({who: "world"})
请注意,Rythm没有单独的标记概念,实际上每个模板都是标记,您可以从另一个模板调用任何模板,甚至可以执行递归调用。您可以在上尝试rythm的实时交互式演示


免责声明:我是Rythm模板引擎和Play Rythm模块的创建者和维护者

即使在最新版本中也应能正常工作。你确定除了游戏的版本之外没有什么变化吗?我不知道@I.am.michiel会四处打听,有什么线索吗?