0
我有JSF 2.0电子商务应用程序。我使用2个会话作用域bean:ProductBean和CartBean。 ProductBean拥有代表当前产品用户正在查看的产品实体。 CartBean拥有产品清单。 CartBean有方法addProduct(Product p)。使用多个标签页时,我遇到添加到购物车的问题。这里的情景:同一会话范围的bean上的多个选项卡互相干扰
- 用户浏览产品页面:/产品ID = 111
- 用户打开用于其他产品的新的浏览器选项卡:?/产品ID = 222
- 用户可以追溯到第一片和点击“添加到购物车” - 第二个产品(id = 222)已添加到购物车。
这里有添加到购物车的commandButton动作的代码:
#{cartBean.addProduct(productBean.product)}
很清楚我是怎么回事。我如何使这个工作在多个标签上?
CartBean不需要被请求作用域。只有ProductBean需要请求范围。 – djmj 2012-03-17 19:50:25
@djmj感谢您的澄清。更新。 – blackcompe 2012-03-18 00:36:11
请注意,您要链接到的旧Java EE 5教程处理旧的JSF 1.2。 OP使用的是JSF 2.0,您可以在该类上使用注释而不是verbose faces-config.xml。你似乎没有真正使用JSF,是吗? – BalusC 2012-03-18 01:15:07