【问题标题】:How to display Selected option Of timeZoneSelect Tag in grails如何在grails中显示timeZoneSelect Tag的选定选项
【发布时间】:2013-08-01 06:56:58
【问题描述】:

使用时区创建客户时,timeZone 具有价值。当我显示 timeZone 时,我想显示选定的选项。

例如,我想显示 SST,萨摩亚标准时间 -11:0.0(Selected Option) 而不是 Pacific/Midway(Value)

我必须在显示页面中更改此功能的哪些内容?

类客户{

    static constraints = {
    }
    String name
    String timeZone
}

在create.gsp中:

<div class="fieldcontain ${hasErrors(bean: customerInstance, field: 'timeZone', 'error')} ">
    <label for="timeZone">
        <g:message code="customer.timeZone.label" default="timeZone" />

    </label>
    <g:if test="${customerInstance?.timeZone}">
         <g:timeZoneSelect name="timeZone" value="${TimeZone.getTimeZone(customerInstance?.timeZone)}" />
    </g:if>
    <g:else>
         <g:timeZoneSelect name="timeZone" value="${customerInstance?.timeZone}"  />
    </g:else>
</div>

在 show.gsp 中:

<span class="property-value" aria-labelledby="timeZone-label"><g:fieldValue bean="${customerInstance}" field="timeZone"/></span>

【问题讨论】:

    标签: grails timezone gsp


    【解决方案1】:

    我找到了解决办法

     def show(Long id) {
            def customerInstance = Customer.get(id)
            if (!customerInstance) {
                flash.message = message(code: 'default.not.found.message', args: [message(code: 'customer.label', default: 'Customer'), id])
                redirect(action: "list")
                return
            }
    
            def date = new Date()
            TimeZone tz = TimeZone.getTimeZone(customerInstance.timeZone);
            def shortName = tz.getDisplayName(tz.inDaylightTime(date), TimeZone.SHORT);
            def longName = tz.getDisplayName(tz.inDaylightTime(date), TimeZone.LONG);
            def offset = tz.rawOffset;
            def hour = offset / (60 * 60 * 1000);
            def min = Math.abs(offset / (60 * 1000)) % 60;
            def timeZone= shortName+", "+longName+" "+hour+": "+min
            [customerInstance: customerInstance,timeZone:timeZone]
        }
    

    在 Show.gsp 中:

    <span class="property-value" aria-labelledby="timeZone-label">${timeZone}</span>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-19
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      相关资源
      最近更新 更多