在Grails taglib中,我看到了:
out << 'some html'
我也看到了:
out << body() << 'some html'
有什么区别?
由于
答案 0 :(得分:17)
第一个将字符串输出到响应。第二个将标记的主体呈现给响应,然后还呈现字符串。并非所有标签都有一个主体,因此第二个标签更为罕见。例如,<g:img src='foo.gif'/>
没有正文但<g:ifLoggedIn>Welcome Back</g:ifLoggedIn>
没有。
当你定义一个标签闭包时,它有一个参数,通常是'attrs'或两个,通常是'attrs'和'body'。这些名字并不重要,它们只是合理的默认值。 body
参数将是一个闭包,当它像方法一样被调用时呈现标记的内部内容(即body()
)