[英]How to display Selected option Of timeZoneSelect Tag in grails
When creating Customer with timezone, timeZone have the value. 使用时区创建Customer时,timeZone具有值。 When i show the timeZone ,i want to display the selected Option.
当我显示timeZone时,我想显示所选的选项。
For Example, i want to display SST, Samoa Standard Time -11:0.0(Selected Option) rather than Pacific/Midway(Value) . 例如,我想显示SST,萨摩亚标准时间-11:0.0(选定选项),而不是Pacific / Midway(Value) 。
What i have to change in show page for this functionality? 我必须在显示页面上对此功能进行哪些更改?
class Customer { 客户类别{
static constraints = {
}
String name
String timeZone
}
In create.gsp: 在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>
in show.gsp: 在show.gsp中:
<span class="property-value" aria-labelledby="timeZone-label"><g:fieldValue bean="${customerInstance}" field="timeZone"/></span>
I have found the solution 我找到了解决方案
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]
}
In Show.gsp: 在Show.gsp中:
<span class="property-value" aria-labelledby="timeZone-label">${timeZone}</span>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.