我在我的控制器中有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
属性。有什么办法可以在我的流程范围的服务中访问流存储吗?
答案 0 :(得分:1)
之前我遇到过SAME问题并通过在GRAILS中安装webflow插件来解决这个问题:
grails install-plugin webflow
比如说,新版本的grails通过安装webflow插件很好地支持webflow。