Grails taglib 只打印一个 class 名称
Grails taglib only printing one class name
我有一个自定义标签库,我正在向它传递一些属性。我希望它输出一个包含我传入的属性的输入字段。
def selectField = { attrs ->
System.out.println( attrs.class );
out << "<input id=" + attrs.id + " class=" + attrs.class + " name=" + attrs.name + " />"
}
当我打印出来时 class 我明白了
"span2 myinput"
调用gsp文件中的元素
<mynamespace:selectField class="span8 myinput" name="pay" id="myid" data-user="${blaaaa}"/>
当我检查由 selectField 方法呈现的输入元素时,我得到了这个
<input id="myid" class="span8" myinput="" name="pay">
似乎无法让它接受具有多个名称的 class。它似乎只为 class 接受一个字符串,然后将另一个单独打印为另一个属性
应该是
<input id="myid" class="span8 myinput" name="pay">
您仍在使用字符串连接,输出中没有引号。
标签应该是这样的:
def selectField = { attrs ->
out << '<input id="' << attrs.id << '" class="' << attrs.class << '" name="' << attrs.name << '" />'
}
您可能想查看 org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib
源代码以了解标签的实现方式
我有一个自定义标签库,我正在向它传递一些属性。我希望它输出一个包含我传入的属性的输入字段。
def selectField = { attrs ->
System.out.println( attrs.class );
out << "<input id=" + attrs.id + " class=" + attrs.class + " name=" + attrs.name + " />"
}
当我打印出来时 class 我明白了 "span2 myinput"
调用gsp文件中的元素
<mynamespace:selectField class="span8 myinput" name="pay" id="myid" data-user="${blaaaa}"/>
当我检查由 selectField 方法呈现的输入元素时,我得到了这个
<input id="myid" class="span8" myinput="" name="pay">
似乎无法让它接受具有多个名称的 class。它似乎只为 class 接受一个字符串,然后将另一个单独打印为另一个属性
应该是
<input id="myid" class="span8 myinput" name="pay">
您仍在使用字符串连接,输出中没有引号。
标签应该是这样的:
def selectField = { attrs ->
out << '<input id="' << attrs.id << '" class="' << attrs.class << '" name="' << attrs.name << '" />'
}
您可能想查看 org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib
源代码以了解标签的实现方式