Grails中的自定义标记库不起作用

Grails中的自定义标记库不起作用,grails,Grails,我是grails新手,尝试学习grails。我在谷歌上搜索了很多次,但找不到原因。请帮助。必要的代码如下: 控制器: class TagLibTestController { def dateTest() { def Date date=new Date() date.setTime(1379874600000) render date } } 标记库: class DateTagLib { def dateFromNow = { attrs,body ->

我是grails新手,尝试学习grails。我在谷歌上搜索了很多次,但找不到原因。请帮助。必要的代码如下: 控制器:

class TagLibTestController {
def dateTest() {
    def Date date=new Date()
    date.setTime(1379874600000)
    render date
 }
}
标记库:

 class DateTagLib {
def dateFromNow = { attrs,body ->
    def date = attrs.date1
    println "DateTagLib"
    def niceDate = getNiceDate(date)
    out << niceDate
}

 String getNiceDate(Date date) {
    def now = new Date()
    def diff = Math.abs(now.time - date.time)
    final long second = 1000
    final long minute = second * 60
    final long hour = minute * 60
    final long day = hour * 24
    def niceTime = ""
    long calc = 0;
    calc = Math.floor(diff / day)
    if (calc) {
    niceTime += calc + " day" + (calc > 1 ? "s " : " ")
    diff %= day
    }
    calc = Math.floor(diff / hour)
    if (calc) {
    niceTime += calc + " hour" + (calc > 1 ? "s " : " ")
    diff %= hour
    }
    calc = Math.floor(diff / minute)
    if (calc) {
    niceTime += calc + " minute" + (calc > 1 ? "s " : " ")
    diff %= minute
    }
    if (!niceTime) {
    niceTime = "Right now"
    } else {
    niceTime += (date.time > now.time) ? "from now" : "ago"
    }
    return niceTime
    }
}
类DateTagLib{ def dateFromNow={attrs,body-> def date=attrs.date1 println“DateTagLib” def niceDate=getNiceDate(日期) 输出1?“s”:) 差异%=天 } 计算=数学楼层(差异/小时) 如果(计算){ niceTime+=计算+“小时”+(计算>1?“s”:“”) 差异%=小时 } 计算=数学楼层(差异/分钟) 如果(计算){ niceTime+=计算+“分钟”+(计算>1?“s”:“”) 差异%=分钟 } 如果(!时间){ niceTime=“现在” }否则{ niceTime+=(date.time>now.time)?“从现在开始”:“以前” } 返回时间 } } 普惠制网页:

 <g:dateFromNow date1="${date}"/>


我们只得到日期值。标记库类甚至不执行任何行。需要更多配置吗?

您的controller dateTest方法没有呈现视图或模板。你是怎么进入普惠制页面的?哦?这是我的错误,但谢谢你,你应该为你的标签库创建自己的名称空间。@Abdullah好的,我知道了,当我们制作实时应用程序时,我会记住它