Grails taglib只打印一个类名

时间:2015-09-17 22:05:50

标签: grails taglib

我有一个自定义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">

1 个答案:

答案 0 :(得分:0)

您仍在使用字符串连接,并且输出中没有引号。

这就是标签的样子:

 def selectField = { attrs ->
    out << '<input id="' << attrs.id << '" class="' << attrs.class << '" name="' << attrs.name << '" />'
}

您可能需要查看org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib源代码,了解应如何实施代码