我有一个在 Grails 2.0.4 中开发的应用程序,我正在对我的域类中的一些值进行硬编码,示例如下
class Training{
String startTime ="09:00"
String endTime ="17:00"
}
但它不是好方法,进行更改是开销,像这样我有 10 多个域类,其中的值是硬编码的。
所以,我打算创建一个单独的配置域类,从而我可以通过 UI(视图)输入值并将它们持久化。
这是我的计划,grails中是否有任何解决方案来处理它。
更新:
import org.grails.plugins.settings.*
class PublicTraining extends Training{
Date startDate = Setting.valueFor("startDate")
}
我创建了一个设置'startDate'。我可以在控制器中使用 Setting.valueFor("startDate") 方法访问设置,但不能在域类中访问设置
我得到的错误如下
*Caused by: org.hibernate.InstantiationException: could not instantiate test objectcom.springpeople.tms.PublicTraining
... 5 more
*Caused by: java.lang.reflect.InvocationTargetException
... 5 more
Caused by: groovy.lang.MissingMethodException: No signature of method: org.grails.plugins.settings.Setting.methodMissing() is applicable for argument types: () values: []
at org.grails.plugins.settings.Setting.valueFor(Setting.groovy:53)**