Как связать время в Grails 3? - PullRequest
0 голосов
/ 29 октября 2018

В Grails 3 есть способ привязать время формата "11:00 AM" к java.sql.Time?

import java.sql.Time


Time startTime

1 Ответ

0 голосов
/ 29 октября 2018

Есть несколько способов сделать это. Одним из них является предоставление соответствующего ValueConverter, как описано в разделе Настраиваемые преобразователи данных в http://docs.grails.org/3.3.8/guide/theWebLayer.html#dataBinding.

Это может выглядеть примерно так ...

package com.myapp.converters

import grails.databinding.converters.ValueConverter
import java.sql.Time

/**
 * A custom converter which will convert String into a Time object.
 */
class TimeValueConverter implements ValueConverter {

    boolean canConvert(value) {
        value instanceof String
    }

    def convert(value) {
        // return a new Time instance initialized with the `value` parameter
    }

    Class<?> getTargetType() {
        java.sql.Time
    }
}

Затем добавьте экземпляр этого класса в контекст приложения Spring:

beans = {
    timeConverter com.myapp.converters.TimeValueConverter
    // ...
}
...