使用out<<在Grails taglib中

时间:2011-08-12 06:39:06

标签: grails groovy

在Grails taglib中,我看到了:

out << 'some html'

我也看到了:

out << body() << 'some html'

有什么区别?

由于

1 个答案:

答案 0 :(得分:17)

第一个将字符串输出到响应。第二个将标记的主体呈现给响应,然后还呈现字符串。并非所有标签都有一个主体,因此第二个标签更为罕见。例如,<g:img src='foo.gif'/>没有正文但<g:ifLoggedIn>Welcome Back</g:ifLoggedIn>没有。

当你定义一个标签闭包时,它有一个参数,通常是'attrs'或两个,通常是'attrs'和'body'。这些名字并不重要,它们只是合理的默认值。 body参数将是一个闭包,当它像方法一样被调用时呈现标记的内部内容(即body()