来自docs ,您可以将正文传递给标签,如下所示:
#{hello}Bob#{/hello}
并且主体可以通过doBody
使用:
Hello #{doBody /}!
但是如何测试是否提供了尸体呢?
我想在标签中做这样的事情:
#{if hasBody()}
#{doBody /}
#{/if}
#{else}
&{'pages.' + _arg + '.name'}
#{/else}
有什么想法吗?
最佳答案
如果您想将标记保留为 html/tag 格式,则可以使用此语法
#{if (s = play.templates.JavaExtensions.toString(_body).trim()) != ''}
it has a body! ${s}
#{/if}
#{else}
no body!!!!
#{/else}
您的另一个选择是使用 fastTags(请参阅此处 this 博客文章)。在那里你基本上可以做同样的事情
public static void _myTag(Map<?, ?> args, Closure body, PrintWriter out, ExecutableTemplate template, int fromLine) {
String s = JavaExtensions.toString(body);
if (s.trim() != "" ) {
//there is a body
} else {
// there is no body
}
}
关于tags - 检查 Play 标签是否有主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418000/