访问grails服务中的流量范围

时间:2011-06-29 21:43:01

标签: grails

我在我的控制器中有WebFlow和简单的流量范围服务。在接近我的Web流程结束的某个地方,我需要根据我之前在Web流程中收到的值来验证我的命令对象字段。为此,我创建了一个简单的流范围服务:

class EventFlowService implements Serializable {

    static transactional = false

    static scope = "flow"

    Date getEventStartDate(){
        flow.basicData.eventDate
    }
}

我不需要在命令对象之外的任何地方使用我的服务,所以我将它注入我的命令对象,如下所示:

class EventRestrictionsCommand implements Serializable{

    def eventFlowService

    boolean onlineRegistration
    Date onlineRegistrationEnd
    Date onlineRegistrationStart

    static constraints = {

        onlineRegistrationEnd validator: {val, obj ->
            if(obj.onlineRegistration){
                return val > obj.onlineRegistrationStart || val <= obj.eventFlowService.getEventStartDate()
            }
            return null
        }    
    }    
}

问题是我得到例外说,我的服务中没有flow属性。有什么办法可以在我的流程范围的服务中访问流存储吗?

1 个答案:

答案 0 :(得分:1)

之前我遇到过SAME问题并通过在GRAILS中安装webflow插件来解决这个问题:

  

grails install-plugin webflow

比如说,新版本的grails通过安装webflow插件很好地支持webflow。