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)
댓글 남기기