?? viewcartaction.java
字號:
package bookstore;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.Query;
import org.hibernate.Session;
import bookstore.database.HibernateUtil;
public class ViewCartAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm srcForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession();
// 從Session中取得購物車對象(一個ArrayList,其中包括用戶購買圖書的bookid)
List cart = (List) session.getAttribute("cart");
// 根據bookid查找相應的圖書信息
List bookInfo = getBookInfo(cart);
session.setAttribute("books", bookInfo);
return mapping.findForward("viewCart");
}
private List getBookInfo(List cart) {
List bookInfo = new ArrayList();
if (cart != null) {
ListIterator iterator = cart.listIterator();
Session dbSession = HibernateUtil.currentSession();
Query query = dbSession
.createQuery(" from Bookinfo as b where b.id=:bookid");
while (iterator.hasNext()) {
query.setInteger("bookid", ((Integer) iterator.next())
.intValue());
// 本來放到Session中的bookid全都是經過驗證的,此處不需要再作檢查
// 但少數情況下在用戶放書到購物車到結算之間管理員可能對圖書進行管理
// 故在此處再對結果進行驗證,如果bookid不存在則不在購物車頁面中顯示
List result = query.list();
if (result.size() > 0) {
bookInfo.add(result.get(0));
}
}
}
return bookInfo;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -