Вот что я думаю Я хочу сделать:
class MyController {
def goToWizard = {
if (params.option1)
redirect actionName:'wizard1', params:params
if (params.option2)
redirect actionName:'wizard2', params:params
}
def wizard1Flow = {
start {
action {
// put some values from the params into flow scope
[thingsThatGotPassedIn:params.thingsThatGotPassedIn]
}
on('success').to 'nextThing...'
}
// wizard 1 implementation...
//...
done {
redirect view:'somewhereElse'
}
}
def wizard2Flow = {
start {
action {
// put some values from the params into flow scope
[thingsThatGotPassedIn:params.thingsThatGotPassedIn]
}
on('success').to 'nextThing...'
}
// wizard 2 implementation...
//...
done {
redirect view:'somewhereElse'
}
}
}
Я пробовал что-то подобное, но, похоже, я никогда не вхожу в веб-поток.Это правильный подход?
Причина всего этого в том, что у меня есть gsp, который выглядит так (форма с 2 кнопками отправки внутри, каждая из которых должна запускать свой веб-поток)
<g:form action="goToWizard">
...
<g:submitButton name="wiz1" value="Goto Wizard1"/>
<g:submitButton name="wiz2" value="Goto Wizard2"/>
</g:form>
Есть некоторые входные элементы внутри формы, в которые я хочу передать значения в зависимости от того, какой веб-поток вызывается.Я бы предпочел, чтобы форма submit вызывала соответствующий веб-поток напрямую (как работают все примеры, которые я видел), но есть два веб-потока и только одна форма.Как я могу это сделать?
Меня также интересуют альтернативные реализации, если вы считаете, что это неправильный путь.Я новичок в веб-потоках в Grails.