来自于一个视图状态的触发事件正如之前所讨论的,在早前代码列表内流的开始状态可能处理两个事件。
一个checkout和一个continueShopping事件:def shoppingCartFlow = {
showCart {
on("checkout").to "enterPersonalDetails"
on("continueShopping").to "displayCatalogue"
}
…
}
因为showCart事件是一个视图状态,它会渲染 grailsapp/book/shoppingCart/showCart.gsp视图.
在视图内部,你需要拥有一个用于触发流(Flow)执行的组件.
在一个表单中,这可使用submitButton标签:<g:form action="shoppingCart">
<g:submitButton name="continueShopping" value="Continue Shopping"></g:submitButton>
<g:submitButton name="checkout" value="Checkout"></g:submitButton>
</g:form>
这个表格必须提交返回shoppingCart流流。
每个submitButton标签的name属性标示哪个事件将被触发。
假如,你没有表格,你同样可以用link标签来触发一个事件,如下:<g:link action="shoppingCart" event="checkout" />