AdminOrderListAction
package net.macaronics.web.admin.controller; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import net.macaronics.web.controll.action.Action; import net.macaronics.web.dao.OrderDAO; import net.macaronics.web.dto.OrderVO; public class AdminOrderListAction implements Action { private static final Logger logger=LogManager.getLogger(AdminOrderListAction.class); @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url="admin/order/orderList.jsp"; String key=""; if(request.getParameter("key")!=null){ key=request.getParameter("key"); } OrderDAO orderDAO=OrderDAO.getInstance(); List<OrderVO> orderList=orderDAO.listOrder(key); request.setAttribute("key", key); request.setAttribute("orderList", orderList); request.getRequestDispatcher(url).forward(request, response); } }
DTO
public class OrderVO { private int odseq; private int oseq; private String id; private Timestamp indate; private int pseq; private int quantity; private String mname; private String zip_num; private String address; private String phone; private String pname; private int price2; private String result; setter, getter
DAO
//관리자 화면 - 주문관리 주문 목록 불러오기 public List<OrderVO> listOrder(String member_name){ List<OrderVO> orderList=new ArrayList<>(); try{ sqlSession=MybatisService.getFactory().openSession(); orderList=sqlSession.selectList("order.listOrder", member_name); }catch (Exception e) { e.printStackTrace(); }finally{ MybatisService.sessionClose(sqlSession); } return orderList; } //관리자 화면 - 주문처리 업데이트 public void updateOrderResult(String odseq) { try{ sqlSession=MybatisService.getFactory().openSession(); sqlSession.update("order.updateOrderResult", odseq); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.commit(); MybatisService.sessionClose(sqlSession); } }
Vew
orderList.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 class="no-js"> <head> <jsp:include page="../../include/AdminHeader.jsp" /> </head> <body> <jsp:include page="../../include/AdminTopFixMenu.jsp" /> <div class="container-fluid"> <div class="row-fluid"> <div class="span3" id="sidebar"> <jsp:include page="../../include/AdminLeftMenu.jsp" /> </div> <!--/span--> <div class="span9" id="content"> <div class="row-fluid"> <div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <h4>주문리스트</h4> </div> <div class="navbar"> <div class="navbar-inner"> <ul class="breadcrumb"> <i class="icon-chevron-left hide-sidebar"><a href='#' title="Hide Sidebar" rel='tooltip'> </a></i> <i class="icon-chevron-right show-sidebar" style="display:none;"><a href='#' title="Show Sidebar" rel='tooltip'> </a></i> <li> <form action="MacaronicsServlet" > 주문자 이름 <input type="text" name="key" value="${key =='%' ? '':key }"> <input type="hidden" value="admin_order_list" name="command" > <input type="submit" class="success" value="검색"> </form> <a href="#"></a> </li> </ul> </div> </div> </div> <div> <form method="post" action="" name="frm"> <div class="table-responsive"> <table class="table"> <tr class="success"> <th>주문번호(처리여부) </th> <th>주문자</th> <th>상품명</th> <th>수량</th> <th>배송지</th> <th>전화</th> <th>주문일</th> </tr> <c:if test="${empty orderList or orderList.size()==0 }" > <tr> <td colspan="6" class="text-center"> 검색된 상품이 없습니다.</td> </tr> </c:if> <c:forEach items="${orderList}" var="orderVO"> <tr> <td> <c:choose> <c:when test="${orderVO.result=='1' }"> ( <input type="checkbox" name="result" value="${orderVO.odseq }"> <small style="color:red;">미처리 </small> ) </c:when> <c:otherwise> (<input type="checkbox" checked="checked" disabled="disabled" > 처리완료) </c:otherwise> </c:choose> </td> <td>${orderVO.mname}</td> <td>${orderVO.pname}</td> <td>${orderVO.quantity}</td> <td>${orderVO.address}</td> <td>${orderVO.phone}</td> <td>${orderVO.indate}</td> </tr> </c:forEach> <tfoot> <tr> <td colspan="7" class="text-center"><button onclick="go_order_save()" class="btn btn-success">주문처리(입금확인)</button> </td> </tr> </tfoot> </table> </div> </form> </div> </div> </div> </div> <hr> <script> function go_order_save() { var count=0; $('input:checkbox[name=result]').each(function() { if($(this).is(':checked')) count++; }); if(count==0 || count==undefined){ alert("주문처리할 항목을 선택해 주세요.") return; }else{ document.frm.action="MacaronicsServlet?command=admin_order_save"; document.frm.submit(); } } </script> <jsp:include page="../../include/AdminFooter.jsp" />
orderList.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 class="no-js"> <head> <jsp:include page="../../include/AdminHeader.jsp" /> </head> <body> <jsp:include page="../../include/AdminTopFixMenu.jsp" /> <div class="container-fluid"> <div class="row-fluid"> <div class="span3" id="sidebar"> <jsp:include page="../../include/AdminLeftMenu.jsp" /> </div> <!--/span--> <div class="span9" id="content"> <div class="row-fluid"> <div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <h4>주문리스트</h4> </div> <div class="navbar"> <div class="navbar-inner"> <ul class="breadcrumb"> <i class="icon-chevron-left hide-sidebar"><a href='#' title="Hide Sidebar" rel='tooltip'> </a></i> <i class="icon-chevron-right show-sidebar" style="display:none;"><a href='#' title="Show Sidebar" rel='tooltip'> </a></i> <li> <form action="MacaronicsServlet" > 주문자 이름 <input type="text" name="key" value="${key =='%' ? '':key }"> <input type="hidden" value="admin_order_list" name="command" > <input type="submit" class="success" value="검색"> </form> <a href="#"></a> </li> </ul> </div> </div> </div> <div> <form method="post" action="" name="frm"> <div class="table-responsive"> <table class="table"> <tr class="success"> <th>주문번호(처리여부) </th> <th>주문자</th> <th>상품명</th> <th>수량</th> <th>배송지</th> <th>전화</th> <th>주문일</th> </tr> <c:if test="${empty orderList or orderList.size()==0 }" > <tr> <td colspan="6" class="text-center"> 검색된 상품이 없습니다.</td> </tr> </c:if> <c:forEach items="${orderList}" var="orderVO"> <tr> <td> <c:choose> <c:when test="${orderVO.result=='1' }"> ( <input type="checkbox" name="result" value="${orderVO.odseq }"> <small style="color:red;">미처리 </small> ) </c:when> <c:otherwise> (<input type="checkbox" checked="checked" disabled="disabled" > 처리완료) </c:otherwise> </c:choose> </td> <td>${orderVO.mname}</td> <td>${orderVO.pname}</td> <td>${orderVO.quantity}</td> <td>${orderVO.address}</td> <td>${orderVO.phone}</td> <td>${orderVO.indate}</td> </tr> </c:forEach> <tfoot> <tr> <td colspan="7" class="text-center"><button onclick="go_order_save()" class="btn btn-success">주문처리(입금확인)</button> </td> </tr> </tfoot> </table> </div> </form> </div> </div> </div> </div> <hr> <script> function go_order_save() { var count=0; $('input:checkbox[name=result]').each(function() { if($(this).is(':checked')) count++; }); if(count==0 || count==undefined){ alert("주문처리할 항목을 선택해 주세요.") return; }else{ document.frm.action="MacaronicsServlet?command=admin_order_save"; document.frm.submit(); } } </script> <jsp:include page="../../include/AdminFooter.jsp" />
AdminOrderSaveAction
package net.macaronics.web.admin.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import net.macaronics.web.controll.action.Action; import net.macaronics.web.dao.OrderDAO; public class AdminOrderSaveAction implements Action{ private static Logger logger =LogManager.getLogger(AdminOrderSaveAction.class); @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String url="MacaronicsServlet?command=admin_order_list"; String[] resultArr =request.getParameterValues("result"); for(String oseq: resultArr){ logger.info("AdminOrderSaveAction - {} ", oseq); OrderDAO orderDAO =OrderDAO.getInstance(); orderDAO.updateOrderResult(oseq); } response.sendRedirect(url); } }
Mapper
<!-- 관리자 화면 주문 처리하기 위한 주문 목록 불러오기--> <select id="listOrder" resultType="net.macaronics.web.dto.OrderVO"> select * from ORDER_VIEW where mname like '%'|| #{mname} ||'%' order by result, oseq desc </select> <update id="updateOrderResult"> update TBL_ORDER_DETAIL set result='2' where odseq=#{odseq} </update>
제작 : macaronics.net - Developer Jun Ho Choi
소스 : https://github.com/braverokmc79/jsp_sin
${request.getContextPath() } 처리를 안한 부분이 있으므로
루트 설정( http://macaronics.net/index.php/m01/jsp/view/1352) 및 server.xml 에서 DB 컨넥션 설정은 필수 설정이다.
댓글 ( 4)
댓글 남기기