【发布时间】:2012-03-16 00:39:18
【问题描述】:
我正在学习 Grails,如果我遗漏了一些基本知识,请原谅我。
我正在尝试使用 Grails Web Flow 插件创建向导/Web 流。我想在流程的第一步渲染一些变量。根据我所读到的有关普通控制器的内容,通常可以通过使用映射将这些变量从控制器传递到视图来完成。但是在 WebFlow 模型中,我不知道在哪里初始化这些变量以及如何将它们传递给第一步。我尝试创建一个初始化“动作”并将变量放入 flash 范围,知道它应该通过一个重定向,但它不会在 gsp 上呈现。
这是怎么做到的?
这是控制器的一个片段,它在控制台中打印“4”:
class ServicesController {
def index() {
redirect(action: "initialize")
}
def initialize() {
flash.assessmentTypes = AssessmentType.list()
println flash.assessmentTypes.size
redirect(action: "request")
}
def requestFlow = {
selectAssessments {
on("next") {
// capture assessments
}.to("productInfo")
on("cancel").to("finish")
}
...
还有一个 gsp 的片段,它在渲染大小时会抛出一个空指针:
${flash.assessmentTypes.size}
<g:each var="assessmentType" in="${flash.assessmentTypes}">
<li><g:checkbox name="assessmentType" value="${assessmentType.id}" />${assessmentType.name}</li>
</g:each>
【问题讨论】:
-
发现另一个基本相同的问题:stackoverflow.com/questions/1002170/grails-web-flow。这个问题可以结束了。
标签: grails