Grails中的自定义标记库不起作用
我是grails新手,尝试学习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 ->
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好的,我知道了,当我们制作实时应用程序时,我会记住它