【问题标题】:Grails taglib only printing one class nameGrails taglib 只打印一个类名
【发布时间】:2015-09-17 22:05:49
【问题描述】:

我有一个自定义标记库,我正在向它传递一些属性。我希望它输出一个带有我传入的属性的输入字段。

def selectField = { attrs ->
    System.out.println( attrs.class );
    out << "<input id=" + attrs.id + " class=" + attrs.class + " name=" + attrs.name + " />"
}

当我打印出课程时,我得到了这个 “span2 我的输入”

调用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">

【问题讨论】:

    标签: grails taglib


    【解决方案1】:

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

    标签应该是这样的:

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

    您可能想查看org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib 源代码以了解如何实现标记

    【讨论】:

    • 啊,就像一个魅力。我不知道我必须将
    • 没有关于编写标签库的特殊文档,但阅读 groovy 要点(在您的情况下为字符串处理)肯定会有所帮助
    猜你喜欢
    • 1970-01-01
    • 2016-07-09
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多