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>


在这里插入图片描述

原创文章 76 获赞 151 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/105327545