我的目标是能够在我的各种域类中重用一些代码,最终在我的 gsps 中填充各种列表框。我有一项服务,但插入它时运气不佳。这是我的代码。
填充列表框服务:
import org.codehaus.groovy.grails.commons.ApplicationHolder as AH
import groovy.sql.Sql
class PopulateListBox {
def dataSource = AH.application.mainContext.dataSource
def sql
def getStates(){
sql = new Sql(dataSource)
def states = []
sql.eachRow("SELECT stvstat_desc FROM stvstat ORDER BY stvstat_desc"){
states.add(it.stvstat_desc)
}
sql.close()
[states:states]
}
}
在我的一个域类中,我尝试在约束块中使用它,如下所示:
def PopulateListBox
static constraints = {
nursingLicenseState(blank:false, inList:PopulateListBox.getStates())
}
但这似乎不起作用。我如何引用我的服务并且仍然能够在我的视图中从域类访问它?