ProductKindAction
package net.macaronics.web.controll; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.macaronics.web.controll.action.Action; import net.macaronics.web.dao.ProductDAO; public class ProductKindAction implements Action { @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url="product/productKind.jsp"; String kind=request.getParameter("kind").trim(); ProductDAO productDAO=ProductDAO.getInstance(); request.setAttribute("productKindList", productDAO.listKindProduct(kind)); RequestDispatcher dispatcher=request.getRequestDispatcher(url); dispatcher.forward(request, response); } }
ActionFactory
추가
else if(command.equals("category")) action=new ProductKindAction();
package net.macaronics.web.controll.factory; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import net.macaronics.web.controll.IndexAction; import net.macaronics.web.controll.ProductDetailAction; import net.macaronics.web.controll.ProductKindAction; import net.macaronics.web.controll.action.Action; public class ActionFactory { final Logger logger =LogManager.getLogger(ActionFactory.class); //싱글톤설정 private static ActionFactory instance; private ActionFactory(){ super(); } public static ActionFactory getInstance(){ if(instance==null){ instance=new ActionFactory(); } return instance; } //command 에서 넘어온 파라미터 값이 존재하면 실행 //즉 ,존재하면 url 만 실행된다. public Action getAction(String command){ Action action=null; logger.info("ActionFactory : {} ", command); if(command.equals("index")) action=new IndexAction(); else if(command.equals("product_detail")) action=new ProductDetailAction(); else if(command.equals("category")) action=new ProductKindAction(); return action; } }
productKind.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE html> <html> <head> <jsp:include page="../include/Header.jsp" /> </head> <body> <jsp:include page="../include/HeaderMenu.jsp" /> <!-- catg header banner section --> <section id="aa-catg-head-banner"> <img src="/dailyShop/img/slider/4.jpg" alt="fashion img" height="300" style="margin-left: auto; margin-right: auto; display: block;"> <div class="aa-catg-head-banner-area"> <div class="container"> </div> </div> </section> <!-- / catg header banner section --> <!-- product category --> <section id="aa-product-category"> <div class="container"> <div class="row"> <div class="col-lg-9 col-md-9 col-sm-8 col-md-push-3"> <div class="aa-product-catg-content"> <div class="aa-product-catg-head"> <div class="aa-product-catg-head-left"> <form action="" class="aa-sort-form"> <label for="">Sort by</label> <select name=""> <option value="1" selected="Default">Default</option> <option value="2">Name</option> <option value="3">Price</option> <option value="4">Date</option> </select> </form> <form action="" class="aa-show-form"> <label for="">Show</label> <select name=""> <option value="1" selected="12">12</option> <option value="2">24</option> <option value="3">36</option> </select> </form> </div> <div class="aa-product-catg-head-right"> <a id="grid-catg" href="#"><span class="fa fa-th"></span></a> <a id="list-catg" href="#"><span class="fa fa-list"></span></a> </div> </div> <div class="aa-product-catg-body"> <ul class="aa-product-catg"> <!-- start single product item --> <c:forEach items="${productKindList }" var="productVO"> <li> <figure> <a class="aa-product-img" href="MacaronicsServlet?command=product_detail&pseq=${productVO.pseq}"><img src="images/${productVO.image}" alt="신상품 이미지" width="250" height="300"></a> <a class="aa-add-card-btn"href="#"><span class="fa fa-shopping-cart"></span>장바구니에 담기</a> <figcaption> <h4 class="aa-product-title"><a href="#">${productVO.name}</a></h4> <span class="aa-product-price"><fmt:formatNumber pattern="#,### 원" value="${productVO.price2}"/></span> </figcaption> </figure> <div class="aa-product-hvr-content"> <a href="#" data-toggle="tooltip" data-placement="top" title="Add to Wishlist"><span class="fa fa-heart-o"></span></a> <a href="#" data-toggle="tooltip" data-placement="top" title="Compare"><span class="fa fa-exchange"></span></a> <a href="#" data-toggle2="tooltip" data-placement="top" title="Quick View" data-toggle="modal" data-target="#quick-view-modal"><span class="fa fa-search"></span></a> </div> </li> <!-- start single product item --> </c:forEach> </ul> <!-- quick view modal --> <div class="modal fade" id="quick-view-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-body"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <div class="row"> <!-- Modal view slider --> <div class="col-md-6 col-sm-6 col-xs-12"> <div class="aa-product-view-slider"> <div class="simpleLens-gallery-container" id="demo-1"> <div class="simpleLens-container"> <div class="simpleLens-big-image-container"> <a class="simpleLens-lens-image" data-lens-image="img/view-slider/large/polo-shirt-1.png"> <img src="img/view-slider/medium/polo-shirt-1.png" class="simpleLens-big-image"> </a> </div> </div> <div class="simpleLens-thumbnails-container"> <a href="#" class="simpleLens-thumbnail-wrapper" data-lens-image="img/view-slider/large/polo-shirt-1.png" data-big-image="img/view-slider/medium/polo-shirt-1.png"> <img src="img/view-slider/thumbnail/polo-shirt-1.png"> </a> <a href="#" class="simpleLens-thumbnail-wrapper" data-lens-image="img/view-slider/large/polo-shirt-3.png" data-big-image="img/view-slider/medium/polo-shirt-3.png"> <img src="img/view-slider/thumbnail/polo-shirt-3.png"> </a> <a href="#" class="simpleLens-thumbnail-wrapper" data-lens-image="img/view-slider/large/polo-shirt-4.png" data-big-image="img/view-slider/medium/polo-shirt-4.png"> <img src="img/view-slider/thumbnail/polo-shirt-4.png"> </a> </div> </div> </div> </div> <!-- Modal view content --> <div class="col-md-6 col-sm-6 col-xs-12"> <div class="aa-product-view-content"> <h3>T-Shirt</h3> <div class="aa-price-block"> <span class="aa-product-view-price">$34.99</span> <p class="aa-product-avilability">Avilability: <span>In stock</span></p> </div> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis animi, veritatis quae repudiandae quod nulla porro quidem, itaque quis quaerat!</p> <h4>Size</h4> <div class="aa-prod-view-size"> <a href="#">S</a> <a href="#">M</a> <a href="#">L</a> <a href="#">XL</a> </div> <div class="aa-prod-quantity"> <form action=""> <select name="" id=""> <option value="0" selected="1">1</option> <option value="1">2</option> <option value="2">3</option> <option value="3">4</option> <option value="4">5</option> <option value="5">6</option> </select> </form> <p class="aa-prod-category"> Category: <a href="#">Polo T-Shirt</a> </p> </div> <div class="aa-prod-view-bottom"> <a href="#" class="aa-add-to-cart-btn"><span class="fa fa-shopping-cart"></span>Add To Cart</a> <a href="#" class="aa-add-to-cart-btn">View Details</a> </div> </div> </div> </div> </div> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div> <!-- / quick view modal --> </div> <div class="aa-product-catg-pagination"> <nav> <ul class="pagination"> <li> <a href="#" aria-label="Previous"> <span aria-hidden="true">«</span> </a> </li> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li> <a href="#" aria-label="Next"> <span aria-hidden="true">»</span> </a> </li> </ul> </nav> </div> </div> </div> <div class="col-lg-3 col-md-3 col-sm-4 col-md-pull-9"> <aside class="aa-sidebar"> <!-- single sidebar --> <div class="aa-sidebar-widget"> <h3>Category</h3> <ul class="aa-catg-nav"> <li><a href="MacaronicsServlet?command=category&kind=1">남성운동화</a></li> <li><a href="MacaronicsServlet?command=category&kind=2">여성운동화</a></li> <li><a href="MacaronicsServlet?command=category&kind=3">남성구두</a></li> <li><a href="MacaronicsServlet?command=category&kind=4">여성구두</a></li> <li><a href="MacaronicsServlet?command=category&kind=5">On Sale</a></li> </ul> </div> </aside> </div> </div> </div> </section> <!-- / product category --> <jsp:include page="../include/Footer.jsp" />
제작 : macaronics.net - Developer Jun Ho Choi
소스 : https://github.com/braverokmc79/jsp_sin
루트 설정( http://macaronics.net/index.php/m01/jsp/view/1352) 및 server.xml 에서 DB 컨넥션 설정은 필수 설정이다.
댓글 ( 4)
댓글 남기기