Grails 1.1 GSP 流(Flow)执行事件 - 来自于一个视图状态的触发

来自于一个视图状态的触发事件正如之前所讨论的,在早前代码列表内流的开始状态可能处理两个事件。

一个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" />