viewcategoryaction.java

来自「这是一个基于Java的网络书店系统」· Java 代码 · 共 57 行

JAVA
57
字号
package com.netshop.web.struts.action;

import java.util.Collection;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.beans.support.PagedListHolder;

import com.netshop.domain.model.Category;
import com.netshop.domain.service.ProductManager;
import com.netshop.domain.service.impl.ManagerFactory;
import com.netshop.util.Constants;

public class ViewCategoryAction extends BaseAction {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        Integer categoryId = Integer.parseInt(request.getParameter("id"));
        ProductManager manager = ManagerFactory.createProductManager();
        if (categoryId != null) {
            Category category = manager.getCategory(categoryId);
            PagedListHolder productList = new PagedListHolder(manager
                    .getProductListByCategory(categoryId));
            productList.setPageSize(Constants.PAGE_SIZE);
            request.getSession().setAttribute("ViewProductAction_category",
                    category);
            request.getSession().setAttribute("ViewProductAction_productList",
                    productList);
            request.setAttribute("category", category);
            request.setAttribute("productList", productList);            
        } else {
            Category category = (Category) request.getSession().getAttribute(
                    "ViewProductAction_category");
            PagedListHolder productList = (PagedListHolder) request
                    .getSession().getAttribute("ViewProductAction_productList");
            if (category == null || productList == null) {
                throw new IllegalStateException(
                        "Cannot find pre-loaded category and product list");
            }
            String page = request.getParameter("page");
            if ("next".equals(page)) {
                productList.nextPage();
            } else if ("previous".equals(page)) {
                productList.previousPage();
            }
            request.setAttribute("category", category);
            request.setAttribute("productList", productList);
        }
        return mapping.findForward("success");
    }

}

⌨️ 快捷键说明

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