一.点击图书,展示该书的详细信息
点击图书→books页面→通过url重写displayBook.jsp?isbn=该书编号 →传入displayBooks页面→
<c:set var="isbn" value="${param.isbn}"></c:set>
<c:forEach var="currentBook" items="${sessionScope.bookTitles}">
<c:if test="${isbn==currentBook.ISBN}">
<c:set var="bookToAdd" value="${currentBook}" scope="session" />
</c:if>
</c:forEach>
→使用标签set接受param本页面传入的isbn值,变量名为isbn,用来保存url重写的isbn。
→循环判断session集合中的list对象,遍历判断isbn是否等于currentBooks.isbn,如果存在则用set标签
赋值保存到session中list集合对象→遍历页面显示该书的详细信息→bookToAdd.title.....
二.购物车操作
1.创建一个存放购物车信息的类CartItemBean
CartItemBean属性:
BookBean book对象 //购物车存放书籍信息
int quantity //存放书籍的数量个数
初始化在构造函数里
方法()
getBook()获取book对象
getquantity()获取quantity数量
2.Servlet控制
HttpSession session=requst.getSession(false);获取当前session会话,如果存在则使用当前,不存在则返回为空。
if(判断session是否为空)
如果为空则跳转到books。jsp页面
如果存在session会话
获取当前session对象 bookBean book=(BookBean)session.get(book)
再获取map购物车集合对象 map cart=(map)session.get(cart)
判断是否为空,如果为空就创建并保存到session中。
不为空则:
判断集合里是否在购物车中
购物车类 对象=(类型)cart.get(map键--book.getIsbn)--
Map集合--key-isbn
--value-book
三.显示购物车信息