我正在尝试使用 taglib 调用,那里有属性参数,还有链接 taglib 使用的标签本身的东西。我找不到传递给 g.link() 调用以使其呈现链接文本的属性。我已经尝试过“body”、“link”、“text”和“linkText”——这些都不起作用。
我希望能够打电话
g.link(action:"foo", controller:"bar", _____:"这里的链接文本")
但不知道该放什么
通常你会这样做:
g.link(action:"foo", controller:"bar", "text of the link here")
链接文本不需要是最后一个参数,它可以出现在任何地方:
g.link("text of the link here", action:"foo", controller:"bar")
.
闭包用法:
您可以使用返回字符串的闭包代替字符串:
g.link(action:"foo", controller:"bar", {"text of the link here"})
而且,与作为方法调用的最后一个参数的任何 groovy 闭包一样,您可以将其放在右括号之后:
g.link(action:"foo", controller:"bar") {"text of the link here"}
没有参数可以传入(无论好坏)。
要获取链接中的文本,请将其作为闭包传递。
g.link(action:"foo", controller:"bar") { "text of the link here" }
为了完整起见,由于文档中没有提到它:如果您在自己的 taglib 中调用标签(作为 metod 调用),则可以使用闭包输出out <<
外部标签内的任何其他内容(使用 )。例如:
out << g.form(method: "post", controller: "login") {
out << "Name: " << g.textField(name: "name") << "<br>"
out << "Password: " << g.passwordField(name: "password") << "<br>"
out << g.submitButton(name: "login")
}