Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源码


上篇博客我们说Spring web Flow与业务结合的方式主要有三种,下面我们主要介绍一下第三种的应用方式

 

3,执行到<action-state> 元素

SpringWeb Flow 中的这个 <action-state> 是专为执行业务逻辑而设的 state 。如果某个应用的业务逻辑代码既不适合放在transition 中由客户端来触发,也不适合放在 Spring Web Flow 自定义的切入点,那么就可以考虑添加<action-state> 元素专用于该业务逻辑的执行。更倾向于触发某个事件来执行。

action-state 示例:

<action-state id="addToCart">
<evaluate expression="cart.addItem(productService.getProduct(productId))"/>
<transition to="productAdded"/>
</action-state>

添加subflow 结点

 

商品列表已经实现了,接下来操作步骤为:

 

  1. 实现 Cart 和 CartItem 两个业务类
  2. 在 shopping.xml 中添加配置
  3. 在 /WEB-INF/flows 目录下添加 addToCart.xml
  4. 在 webflow-config.xml 中添加 addToCart.xml 的位置
  5. 修改 viewCart.jsp 页面

 

具体demo实现:

 

Cart


package samples.webflow;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//购物车的实现类
public class Cart implements Serializable {

    private static final long serialVersionUID = 7901330827203016310L;
    private Map<Integer, CartItem> map = new HashMap<Integer, CartItem>();
   
    //getItems 用于获取当前购物车里的物品
    public List<CartItem> getItems() {
	return new ArrayList<CartItem>(map.values());
    }
    
    //addItem 用于向
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值