Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails GSP-无法使用参数调用正文_Grails_Gsp_Taglib - Fatal编程技术网

Grails GSP-无法使用参数调用正文

Grails GSP-无法使用参数调用正文,grails,gsp,taglib,Grails,Gsp,Taglib,我定义了一个如下的标记库: class FooTagLib { static namespace = "foo" def bar = { attrs, body -> out << render(template: "/taglib/foo/bar", model: [body: body]) } } ? 以下是我在gsp视图中使用此标记的方式: <foo:bar> ${baz} ${qux} </foo:b

我定义了一个如下的标记库:

class FooTagLib {
    static namespace = "foo"

    def bar = { attrs, body ->
        out << render(template: "/taglib/foo/bar", model: [body: body])
    }
}
?

以下是我在gsp视图中使用此标记的方式:

<foo:bar>
    ${baz} ${qux}
</foo:bar

这是一个错误还是我做错了什么?

在标记库中,您从不指定任何参数,这不是自动完成的,因为标记库不知道映射键的名称。必须在模型中指定贴图键和值

class FooTagLib {
    static namespace = "foo"

    def bar = { attrs, body ->
        def s = body()
        def tokens = s.tokenize()
        out << render(template: "/taglib/foo/bar", model: [body: [baz:tokens[0], qux:tokens[1]] ])
    }
}
class FooTagLib{
静态名称空间=“foo”
定义栏={attrs,body->
def s=主体()
def tokens=s.tokenize()
出来
null null
class FooTagLib {
    static namespace = "foo"

    def bar = { attrs, body ->
        def s = body()
        def tokens = s.tokenize()
        out << render(template: "/taglib/foo/bar", model: [body: [baz:tokens[0], qux:tokens[1]] ])
    }
}