我有一个自定义taglib,并且我传递了一些属性。我希望它输出一个输入字段,其中包含我传入的属性。
def selectField = { attrs ->
System.out.println( attrs.class );
out << "<input id=" + attrs.id + " class=" + attrs.class + " name=" + attrs.name + " />"
}
当我打印课程时,我得到了这个 &#34; span2 myinput&#34;
在gsp文件中调用元素
<mynamespace:selectField class="span8 myinput" name="pay" id="myid" data-user="${blaaaa}"/>
当我检查selectField方法呈现的输入元素时,我得到了这个
<input id="myid" class="span8" myinput="" name="pay">
似乎无法接受具有多个名称的类。它似乎只为该类接受一个字符串,然后将另一个字符串打印为另一个属性
应该是
<input id="myid" class="span8 myinput" name="pay">
答案 0 :(得分:0)
您仍在使用字符串连接,并且输出中没有引号。
这就是标签的样子:
def selectField = { attrs ->
out << '<input id="' << attrs.id << '" class="' << attrs.class << '" name="' << attrs.name << '" />'
}
您可能需要查看org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib
源代码,了解应如何实施代码