additemaction.java

来自「用Struts+Hibernate实现一个在线书店系统」· Java 代码 · 共 53 行

JAVA
53
字号
package com.jtf.bookstore.controller;

import com.jtf.bookstore.Book;
import com.jtf.bookstore.Category;
import com.jtf.bookstore.OrderItem;
import com.jtf.bookstore.persist.EntityManager;
import com.jtf.bookstore.persist.EntityManagerFactory;
import com.jtf.bookstore.util.NumericUtil;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class AddItemAction extends BookstoreController
{
    public ActionForward doAction(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception
    {
        String book = request.getParameter("book");

        if (!NumericUtil.isInteger(book))
        {
            return mapping.findForward("home");
        }

        int bookId = NumericUtil.getInt(book);
        EntityManager manager = EntityManagerFactory.getBookManagerInstance();
        Book bookToAdd = (Book) manager.findById(bookId);
        OrderItem item = getOrderItem(bookToAdd, 1);
        addItemToCart(request, item);

        Category category = bookToAdd.getCategory();
        prepareForBrowseCategory(request, category);

        return mapping.findForward("success");
    }

    private OrderItem getOrderItem(Book book, int qty)
    {
        OrderItem item = new OrderItem();
        item.setBook(book);
        item.setQty(qty);
        item.setUnitPrice(book.getUnitPrice());

        return item;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?