是否可以将Spring bean注入(inject)Grails Webflow中?我尝试了以下
class CheckoutController {
ShoppingService shoppingService
def checkoutFlow = {
start {
action {
// This attempt to access the service doesn't work
flow.addresses = shoppingService.getOrder()
}
}
}
}
我可以从常规 Controller 操作中访问
shoppingService
,但不能从Webflow的操作中访问它(请参见上文)。 最佳答案
起初,我以为您列出的是伪代码,但是我使用您的示例制作了一个示例应用程序,并且还获得了NPE。我认为问题可能出在您的流程结构上。 action
块应处于流状态内。您的流定义应类似于:
class CheckoutController {
ShoppingService shoppingService
def checkoutFlow = {
start {
action {
flow.addresses = shoppingService.getOrder()
if(flow.addresses) {
showForm()
}
else {
showError()
}
}
on("showForm").to "showForm"
on("showError").to "showError"
}
showError {
...
}
//etc.
}
}
您绝对可以在Web流中使用注入(inject)的服务。我猜问题出在您的流程结构中。
关于grails - 依赖注入(inject)Grails Webflow,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7306519/