我遇到了一个groovy语法,它在gsp文件中创建了一个链接,如下所示:
class LoginTagLib {
def loginControl = {
out << """[${link(action:"login",controller:"user"){"Login"}}]"""
}}
我知道它最终会在html中变成这个:
<a href="/racetrack/user/login">Login</a>
但是,有两部分语法我不明白:
我不明白${link(action:"login",controller:"user"){"Login"}}
:
$()
,用于字符串插值。 link(action:"login",controller:"user")
,只有2个参数传递到link
{"Login"}
背后的是什么?我不明白用于封闭整个事物的"""[ ]"""
,我试图夺走一对"
,但它不再适用了。所以它证明了它具有它的意义。
有人帮忙解决一些问题吗?
由于
答案 0 :(得分:2)
foo(arg1, arg2, ..., { ... })
更改为foo(arg1, arg2, ...) { ... }
。这就是这里发生的事情,link()
的最后一个参数是一个应该评估链接的文本表示的闭包