Java Web 網絡商城案例演示二十二 管理員查詢訂單

Java Web 網絡商城案例演示二十二

查詢訂單

在這裏插入圖片描述
步驟分析:
在這裏插入圖片描述
步驟實現:
1、準備工作:/admin/letf.jsp

d.add('0105','01','訂單管理');
		d.add('010501','0105','訂單管理','${pageContext.request.contextPath}/AdminOrderServlet?method=findOrders','','mainFrame');
		d.add('010502','0105','未付款的訂單','${pageContext.request.contextPath}/AdminOrderServlet?method=findOrders&state=1','','mainFrame');
		d.add('010503','0105','已付款訂單','${pageContext.request.contextPath}/AdminOrderServlet?method=findOrders&state=2','','mainFrame');
		d.add('010504','0105','已發貨的訂單','${pageContext.request.contextPath}/AdminOrderServlet?method=findOrders&state=3','','mainFrame');
		d.add('010505','0105','已完成的訂單','${pageContext.request.contextPath}/AdminOrderServlet?method=findOrders&state=4','','mainFrame');

在這裏插入圖片描述
2、 AdminOrderServlet–》findOrders方法當中
獲取全部的訂單

public class AdminOrderServlet extends BaseServlet {
	OrderService orderService = new OrderServiceImpl();
	// findOrders
	public String findOrders(HttpServletRequest request, HttpServletResponse response) throws Exception {
		String st = request.getParameter("state");
		List<Order> list = null;
		if (null == st || "".equals(st)) {
			// 獲取到全部的訂單
			list = orderService.findAllOrders();
		}else {
			
			list = orderService.findAllOrders(st);
		}
		// 將全部的訂單放入到request
		request.setAttribute("allOrders", list);
		// 轉發到/admin/order/list.jsp
		return "/admin/order/list.jsp";
	}

}

OrderService

public interface OrderService {
	List<Order> findAllOrders() throws Exception;
	List<Order> findAllOrders(String st) throws Exception;
}

OrderServiceImpl

public class OrderServiceImpl implements OrderService {
	OrderDao orderDao = new OrderDaoImpl();
	@Override
	public List<Order> findAllOrders() throws Exception {
		return 	orderDao.findAllOrders();
	}
	@Override
	public List<Order> findAllOrders(String st) throws Exception {
		// TODO Auto-generated method stub
		return 	orderDao.findAllOrders(st);
	}
}

OrderDao

public interface OrderDao {
	List<Order> findAllOrders() throws Exception;
	List<Order> findAllOrders(String st) throws Exception;
}

OrderDaoImpl

public class OrderDaoImpl implements OrderDao {
	@Override
	public List<Order> findAllOrders() throws Exception {
		String sql = "select * from orders";
		QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
		return qr.query(sql, new BeanListHandler<Order>(Order.class));
	}
	@Override
	public List<Order> findAllOrders(String st) throws Exception {
		String sql = "select * from orders where state = ?";
		QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
		return qr.query(sql, new BeanListHandler<Order>(Order.class),st);
	}
}

3、在/admin/order/list.jsp下獲取全部的訂單信息完成響應

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<HTML>
<HEAD>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="${pageContext.request.contextPath}/css/Style1.css"
	rel="stylesheet" type="text/css" />
<script language="javascript"
	src="${pageContext.request.contextPath}/js/public.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
	function showDetail(oid) {
		var $val = $("#but" + oid).val();
		if ($val == "訂單詳情") {
			// ajax 顯示圖片,名稱,單價,數量
			$("#div" + oid)
					.append(
							"<img width='60' height='65' src='${pageContext.request.contextPath}/products/1/c_0028.jpg'>&nbsp;xxxx&nbsp;998<br/>");

			$("#but" + oid).val("關閉");
		} else {
			$("#div" + oid).html("");
			$("#but" + oid).val("訂單詳情");
		}
	}
</script>
</HEAD>
<body>
	<br>
	<form id="Form1" name="Form1"
		action="${pageContext.request.contextPath}/user/list.jsp"
		method="post">
		<table cellSpacing="1" cellPadding="0" width="100%" align="center"
			bgColor="#f5fafe" border="0">
			<TBODY>
				<tr>
					<td class="ta_01" align="center" bgColor="#afd1f3"><strong>訂單列表</strong>
					</TD>
				</tr>

				<tr>
					<td class="ta_01" align="center" bgColor="#f5fafe">
						<table cellspacing="0" cellpadding="1" rules="all"
							bordercolor="gray" border="1" id="DataGrid1"
							style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; WIDTH: 100%; WORD-BREAK: break-all; BORDER-BOTTOM: gray 1px solid; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: #f5fafe; WORD-WRAP: break-word">
							<tr
								style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3">

								<td align="center" width="10%">序號</td>
								<td align="center" width="10%">訂單編號</td>
								<td align="center" width="10%">訂單金額</td>
								<td align="center" width="10%">收貨人</td>
								<td align="center" width="10%">訂單狀態</td>
								<td align="center" width="50%">訂單詳情</td>
							</tr>
							<c:forEach items="${allOrders }" var="o" varStatus="status">
							<tr onmouseover="this.style.backgroundColor = 'white'"
								onmouseout="this.style.backgroundColor = '#F5FAFE';">
								<td style="CURSOR: hand; HEIGHT: 22px" align="center" 
									width="18%">${status.count }</td>
								<td style="CURSOR: hand; HEIGHT: 22px" align="center"
									width="17%">${o.oid }</td>
								<td style="CURSOR: hand; HEIGHT: 22px" align="center"
									width="17%">${o.total }</td>
								<td style="CURSOR: hand; HEIGHT: 22px" align="center"
									width="17%">${o.name }</td>
								<td style="CURSOR: hand; HEIGHT: 22px" align="center"
									width="17%">
									<c:if test="${o.state==1 }">未付款</c:if>
									<c:if test="${o.state==2 }">
										<a href="">發貨</a>
									</c:if>
									<c:if test="${o.state==3 }">已發貨</c:if>
									<c:if test="${o.state==4 }">訂單完成</c:if>
								</td>
								<td align="center" style="HEIGHT: 22px"><input
									type="button" value="訂單詳情" id="but${o.oid}"
									onclick="showDetail('${o.oid}')" />
									<div id="div${o.oid}"></div></td>
							</tr>
							</c:forEach>
						</table>
					</td>
				</tr>
				<tr align="center">
					<td colspan="7"></td>
				</tr>
			</TBODY>
		</table>
	</form>
</body>
</HTML>


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章