0

我是 Grails 平台的新手,对 TagLib 组件产生了兴趣。我有这个应用程序,我要在其中创建一个由两个<select>标签组成的时间选择 [24 小时格式选择]:小时和时间。到目前为止,我已经以这种方式编写了我的理论。

def timePicker = { attrs ->
   out << "<g:select name='" + attrs['name'] + ".hour' from='${00..21}' />"
   out << "<g:select name='" + attrs['name'] + ".minute' from='${00..59}' />" 
}

但是我无法在页面中显示它,但它会out在网页本身中显示内容,这是错误的。如何在by TagLib<select>上正确显示两个?.gsp我打算用传统的<select>伴随<option>语句来写它,还是要使用g.select(attrs)语法?

谢谢

4

2 回答 2

2

你可以使用这样的东西:

def timePicker = { attrs ->
    def hours = 0..21
    def stringHours = hours.collect{ String.format('%02d', it) }

    def minutes = 0..59
    def stringMinutes = minutes.collect{ String.format('%02d', it) }

    out << "${select(from: stringHours, name: attrs.name + '.hour')}"
    out << "${select(from: stringMinutes, name: attrs.name + '.minute')}"
}
于 2012-06-28T13:03:01.520 回答
1

您只能在 GSP 中使用方法调用:

def timePicker = { attrs ->
    out << "${select(from: 00..21, name: attrs.name + '.hour')}"
    out << "${select(from: 00..59, name: attrs.name + '.minute')}"
 }
于 2012-06-28T11:14:15.027 回答