package org.springframework.samples.jpetstore.web.struts; 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 org.springframework.samples.jpetstore.domain.Product; public class ViewProductAction extends BaseAction { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String productId = request.getParameter("productId"); if (productId != null) { PagedListHolder itemList = new PagedListHolder(getPetStore().getItemListByProduct(productId)); itemList.setPageSize(4); Product product = getPetStore().getProduct(productId); request.getSession().setAttribute("ViewProductAction_itemList", itemList); request.getSession().setAttribute("ViewProductAction_product", product); request.setAttribute("itemList", itemList); request.setAttribute("product", product); } else { PagedListHolder itemList = (PagedListHolder) request.getSession().getAttribute("ViewProductAction_itemList"); Product product = (Product) request.getSession().getAttribute("ViewProductAction_product"); String page = request.getParameter("page"); if ("next".equals(page)) { itemList.nextPage(); } else if ("previous".equals(page)) { itemList.previousPage(); } request.setAttribute("itemList", itemList); request.setAttribute("product", product); } return mapping.findForward("success"); } }