我想要使用taglib调用,这里有属性参数,还有链接taglib使用的标签内部的东西。我无法找到要传递给g.link()调用的属性,让它呈现链接的文本。我已经尝试过“身体”和“链接”,“文字”和“链接文字” - 没有任何工作。Grails链接taglib在GSP外部使用
我期待能够调用
g.link(action:"foo", controller:"bar", _____:"text of the link here")
,但不知道要放什么东西在_____
我想要使用taglib调用,这里有属性参数,还有链接taglib使用的标签内部的东西。我无法找到要传递给g.link()调用的属性,让它呈现链接的文本。我已经尝试过“身体”和“链接”,“文字”和“链接文字” - 没有任何工作。Grails链接taglib在GSP外部使用
我期待能够调用
g.link(action:"foo", controller:"bar", _____:"text of the link here")
,但不知道要放什么东西在_____
没有参数传递(或好或坏)。
要获取链接中的文本,请将其作为封闭传递。
g.link(action:"foo", controller:"bar") { "text of the link here" }
通常你做这样的:
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"})
而且,与任何常规闭合这是一个方法调用的最后一个参数,你可以把它的右括号后:
g.link(action:"foo", controller:"bar") {"text of the link here"}
为了完整起见,因为它不是在文档中提到:如果您呼叫的标记(如梅托德调用)在您自己的taglib中,您可以使用闭包在外部标签内输出任何其他内容(使用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")
}
该文档根本不引用它,但显示封闭。文档可能需要更新。 – user111544 2009-06-24 15:56:55