在使用 Play 框架构建的网络应用程序中,我有一个结帐页面,其中列出了用户的购物车以及地址表单。我将地址表单创建为标签 (addressform.html),以便可以重复使用。
结帐.html:
#{if shopcart.cartItems}
#{shopcartview customer:customer,shopcart:shopcart/}
#{addressform customer:customer /}
#{/if}
地址表单有一个表单元素#{form @setAddressInfo()}
它调用如下控制器方法
public static void setAddressInfo(Long customerId,...) {
...
showPaymentPage();
}
如果一切顺利,将进入支付页面。
当我想addressform
在我的confirmOrder
页面上重用时会出现问题。
确认订单.html:
#{if shopcart.cartItems}
#{shopcartview customer:customer,shopcart:shopcart/}
#{addressform customer:customer /}
#{/if}
<a href="link_to_payment_page">editPaymentInfo</a>
在这里,如果用户更改地址并提交表单,该setAddressInfo()
方法将在成功完成后打开支付页面。这不好——用户可能根本不想更改付款信息。此外,我为那些想要更改付款信息的用户提供了一个付款页面链接。我希望显示相同的 OrderConfirm 页面,以便用户可以单击Submit Order
按钮。
那么我该怎么做呢?在这种情况下,我肯定可以重用地址表格,对吗?你能帮我弄清楚在这种情况下如何管理页面流吗?