2012-04-17 4 views
5

서비스를 호출해야하는 명령 클래스가 있습니다.Grails : Command 객체에 서비스를 삽입하십시오.

import org.codehaus.groovy.grails.commons.ApplicationHolder as AH 

class FilterVisitCommand { 

    def accessRightsService = AH.application.mainContext.accessRightsService 
    def customerService = AH.application.mainContext.customerService 
... 
} 

응용 프로그램 보유자를 통한 이러한 종류의 서비스 정의가 작동하지만 불량입니다. 서비스를 주입시키는 또 다른 방법이 있습니까? "def accessRightsService"만이 명령 클래스에서 작동하지 않습니다.

+0

왜 'def accessRightsService'가 작동하지 않습니까? – doelleri

답변

0

Grails rich domain 플러그인을 사용하면 일반적인 Groovy 클래스에 대한 서비스 주입, 유효성 검사 등을 할 수 있습니다.

14

유효성 검사를 위해 명령 개체에 서비스를 주입하는 경우 명령 개체를 통해 서비스를 참조해야 할 수 있습니다.

class FilterVisitCommand { 

    def accessRightsService 

    static constraints = { 
     foo(validator: { foo, cmd -> 
      cmd.accessRightsService.bar() 
     }) 
    } 
} 
+0

이것은 1.3.x에서 실행해야합니다. –

+0

답변 해 주셔서 감사합니다. 그러나 명령 클래스에있는 메소드에서 서비스에 액세스하려면 어떻게해야합니까? – John

관련 문제