15

属性パラメータがあるtaglib呼び出しを使用しようとしていますが、リンクtaglibが使用するタグ自体の内部のものもあります。リンクのテキストをレンダリングするために g.link() 呼び出しに渡す属性が見つかりません。'body' と 'link' と 'text' と 'linkText' は既に試しましたが、どれもうまくいきません。

通話できることを期待しています

g.link(action:"foo", controller:"bar", _____:"リンクのテキストはこちら")

でも何を入れたらいいのかわからない_____

4

3 に答える 3

25

通常、次のようにします。

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"}
于 2009-06-19T19:41:42.077 に答える
4

渡すパラメーターはありません (良くも悪くも)。

リンク内のテキストを取得するには、それをクロージャーとして渡します。

g.link(action:"foo", controller:"bar") { "text of the link here" }
于 2009-06-19T19:05:29.607 に答える
0

完全を期すために、ドキュメントには記載されていないため、独自の 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")
}
于 2015-02-19T10:19:16.667 に答える