Spring Web Flow 2.0入门 - 用subflow实现增添商品到购物车功效[Java编程]
本文“Spring Web Flow 2.0入门 - 用subflow实现增添商品到购物车功效[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
商品已经有列表了,接下来就要增添把商品放入购物车的功效,在本示例顶用 subflow 来实现这一功效,操作步骤以下:
实现 Cart 和 CartItem 两个业务类
在 shopping.xml 中增添配置
在 /WEB-INF/flows 目录下增添 addToCart.xml
在 webflow-config.xml 中增添 addToCart.xml 的位置
改正 viewCart.jsp 页面
实现 Cart 和 CartItem 两个业务类
CartItem 表示存放于购物车中的条目,主要记录像应商品及商品数目,同时不要忘掉录现 java.io.Serializable 接口,见清单 29:
清单 29 CartItem 类
package samples.webflow;
import java.io.Serializable;
public class CartItem implements Serializable {
private static final long serialVersionUID = 8388627124326126637L;
private Product product;
private int quantity;
public CartItem(Product product, int quantity) {
this.product = product;
this.quantity = quantity;
}
public int getTotalPrice() {
return this.quantity * this.product.getPrice();
}
public void increaseQuantity() {
this.quantity++;
}
/*省略getter和setter*/
}
除去呼应的属性外, CartItem 可按照商品的数目算出该商品的总价钱( getTotalPrice ),也可通过 increaseQuantity 增添商品数目.
Cart 是购物车的实现类,其一样要实现 java.io.Serializable 接口,但它没有像 ProductService 一样成为由 Spring IoC 容器管理的 Bean ,每个客户的购物车是差别的,因此不能利用 Spring IoC 容器默许的 Singleton 情势.见清单 30:
清单 30 Cart 类
package samples.webflow;
/* 省略 import 语句 */
public class Cart implements Serializable {
private static final long serialVersionUID = 7901330827203016310L;
private Map<Integer, CartItem> map = new HashMap<Integer, CartItem>();
public List<CartItem> getItems() {
return new ArrayList<CartItem>(map.values());
}
public void addItem(Product product) {
int id = product.getId();
CartItem item = map.get(id);
if (item != null)
item.increaseQuantity();
else
map.put(id, new CartItem(product, 1));
}
public int getTotalPrice() {
int total = 0;
for (CartItem item : map.values())
total += item.getProduct().getPrice() * item.getQuantity();
return total;
}
}
Cart 主要实现三个业务函数, getItems 用于获得当前购物车里的物品, addItem 用于向购物车增添商品, getTotalPrice 用于获得购物车里全部商品的总价钱.
以上是“Spring Web Flow 2.0入门 - 用subflow实现增添商品到购物车功效[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |