0

是否可以在 Webflow 结束时在重定向中传递“参数”?基本上这个变量或参数从控制器传递到控制器的目的是这样的,我希望只有在流程完成后才能在视图页面上使用变量或 ${param.xyz}。

 class Example1Controller{
    def startFlow = {
        begin {
        ....
        }
        ....
        ....    
        finished {
            action {
                flash.message = 'success'
            }
            redirect(controller: 'example2', action: 'myaccount', params: [author: "Stephen King"])
        } 
     }
  }

其他控制器

 class Example2Controller{
     def myaccount() {
         def here = $params.author
         return [me:here]
     }
 }

普惠制视图

 <html>
     <body>
         <g:if test="${params.me}">
             <p>This is what I want to display: **${me}**</p>
             <p>But it must come from the first controller, from the flow.</p>
         </g:if>
     </body>    
 </html>

基本上所有这些变量从控制器传递到控制器的目的是这样的。我希望只有在流程完成后才能在视图页面上使用变量或 ${param.}。

4

2 回答 2

1

如果我没记错的话,我们之前做过这个,但是我们使用了流范围/流变量。就像是:

def myFlow = {
    fin {
        redirect: (controller: "xxx", action: "yyy", params: [someValue: flow.someValue])
    }
}

然后,在接收端,类似:

def yyy = {
    [ aaa: params.someValue ]
}
于 2013-01-28T02:34:44.943 回答
1

您可以使用hiddenField

<g:hiddenField name="myField" value="myValue" />

您可以将值从Example1Controller传递给Example1Gsp(作为 hideenField),然后从该 GSP 中您可以在Example2Controller中获得值。

于 2013-01-26T15:37:36.983 回答