在Grails taglib中,我看到:
out << 'some html'
Run Code Online (Sandbox Code Playgroud)
我也看到了:
out << body() << 'some html'
Run Code Online (Sandbox Code Playgroud)
有什么不同?
谢谢
Bur*_*ith 17
第一个将字符串输出到响应.第二个将标记的主体呈现给响应,然后还呈现字符串.并非所有标签都有一个主体,因此第二个标签更为罕见.例如<g:img src='foo.gif'/>,没有身体,但<g:ifLoggedIn>Welcome Back</g:ifLoggedIn>确实如此.
当你定义一个标签闭包时,它有一个参数,通常是'attrs'或两个,通常是'attrs'和'body'.这些名字并不重要,它们只是合理的默认值.该body参数将是当它被调用的方法等呈现标签的内容内的闭合(即body())