我想要使用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