私の目標は、さまざまなドメイン クラス間で一部のコードを再利用して、最終的に gsp のさまざまなリスト ボックスに入力できるようにすることです。私はサービスを持っていますが、プラグインするのにほとんど運がありませんでした.これが私のコードです.
PopulateListBox サービス:
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]
}
}
ドメイン クラスの 1 つの中で、次のように制約ブロックで使用してみました。
def PopulateListBox
static constraints = {
nursingLicenseState(blank:false, inList:PopulateListBox.getStates())
}
しかし、これはうまくいかないようです。自分のサービスを参照し、自分のビューでドメイン クラスからアクセスできるようにするにはどうすればよいですか?