viewcategoryaction.java

来自「Spring +Web 的完整 MyEclipse 项目源码,使用者可以作为入门」· Java 代码 · 共 53 行

JAVA
53
字号
package org.digitstore.web.struts.action;

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.digitstore.domain.Category;

import org.springframework.beans.support.PagedListHolder;
import org.digitstore.service.*;

public class ViewCategoryAction extends BaseAction {

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        String categoryId = request.getParameter("categoryId");
        ProductManager manager = ManagerFactory.createProductManager();
        if (categoryId != null) {
            Category category = manager.getCategory(categoryId);
            PagedListHolder productList = new PagedListHolder(manager
                    .getProductListByCategory(categoryId));
            productList.setPageSize(4);
            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 + -
显示快捷键?