将获取的值传递给其他模板

时间:2012-05-26 05:50:43

标签: java scala playframework

我有一个捕获字符串的主模板:

@(captured: String)

.... other templating stuff

我有一个想要使用@captured的子模板:

.... somewhere in this templating stuff we have:
@subTemplate(@captured) <- wants to use @captured

我试试这个,除了错误我什么也得不到。我确定这必须是可能的,所以我做错了什么?对不起,如果这个问题很简单,我就不知道如何简洁地为谷歌说明这个问题。

2 个答案:

答案 0 :(得分:3)

当作为变量传入时,您需要删除captured上的尾随@符号。

例如

@subTemplate(@captured) --> @subTemplate(captured)

之所以如此,是因为@是一个特殊的符号,它告诉Play模板引擎即将进行一些计算,而不仅仅是输出HTML。在上面的例子中,通过调用子模板,你已经开始计算(即使用@符号),所以你不要在parenthisis中再次使用它,因为编译器已经处于计算模式。

这在Play 1.x模板引擎中完全相同。

答案 1 :(得分:0)

删除@captured中的前导'at'。由于一些奇怪的原因,Play并不想接受这个并让它工作到现在为止。看看我能否重现这个问题。