创建Servlet
单击“订单管理”,发送“/findOrders”,由FindOrdersServlet处理
//查找所有订单
public class FindOrdersServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 创建Service层对象
OrderService service = new OrderService();
// 调用Service层对象的findAllOrder()方法查询订单列表
List<Order> orders = service.findAllOrder();
//将查询到的订单信息添加到request作用域
request.setAttribute("orders", orders);
// 将请求转发到list.jsp页面
request.getRequestDispatcher("/admin/orders/list.jsp").forward(request,response);
}
}
编写Service层方法
// 查找所有订单
public List<Order> findAllOrder() {
List<Order> orders = null;
try {
// 查找出订单信息
orders = odao.findAllOrder();
} catch (SQLException e) {
e.printStackTrace();
}
return orders;
}
编写DAO层方法
/**
* 查找所有订单
* @return
* @throws SQLException
*/
public List<Order> findAllOrder() throws SQLException {
//1.创建sql
String sql = "select orders.*,user.* "
+ "from orders,user "
+ "where user.id=orders.user_id "
+ "order by orders.user_id";
//2.创建QueryRunner对象
QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
//3.返回QueryRunner对象query()方法的查询结果
return runner.query(sql, new ResultSetHandler<List<Order>>() {
public List<Order> handle(ResultSet rs) throws SQLException {
//创建订单集合
List<Order> orders = new ArrayList<Order>();
//循环遍历订单和用户信息
while (rs.next()) {
Order order = new Order();
order.setId(rs.getString("orders.id"));
order.setMoney(rs.getDouble("orders.money"));
order.setOrdertime(rs.getDate("orders.ordertime"));
order.setPaystate(rs.getInt("orders.paystate"));
order.setReceiverAddress(rs.getString("orders.receiverAddress"));
order.setReceiverName(rs.getString("orders.receiverName"));
order.setReceiverPhone(rs.getString("orders.receiverPhone"));
orders.add(order);
User user = new User();
user.setId(rs.getInt("user.id"));
user.setEmail(rs.getString("user.email"));
user.setGender(rs.getString("user.gender"));
user.setActiveCode(rs.getString("user.activecode"));
user.setIntroduce(rs.getString("user.introduce"));
user.setPassword(rs.getString("user.password"));
user.setRegistTime(rs.getDate("user.registtime"));
user.setRole(rs.getString("user.role"));
user.setState(rs.getInt("user.state"));
user.setTelephone(rs.getString("user.telephone"));
user.setUsername(rs.getString("user.username"));
order.setUser(user);
}
return orders;
}
});
}
创建显示页面
<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<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}/admin/css/Style.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="${pageContext.request.contextPath}/admin/js/public.js"></script>
<script type="text/javascript">
//删除订单
function o_del() {
var msg = "您确定要删除该订单吗?";
if (confirm(msg)==true){
return true;
}else{
return false;
}
}
</script>
</HEAD>
<body>
<br />
<form id="Form1" name="Form1" action="${pageContext.request.contextPath}/findOrderByManyCondition" 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>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
订单编号</td>
<td class="ta_01" bgColor="#ffffff">
<input type="text" name="id" size="15" value="" id="Form1_userName" class="bg" />
</td>
<td height="22" align="center" bgColor="#f5fafe" class="ta_01">
收件人:</td>
<td class="ta_01" bgColor="#ffffff">
<input type="text" name="receiverName" size="15" value="" id="Form1_userName" class="bg" />
</td>
</tr>
<tr>
<td width="100" height="22" align="center" bgColor="#f5fafe" class="ta_01"></td>
<td class="ta_01" bgColor="#ffffff">
<font face="宋体" color="red"> </font>
</td>
<td align="right" bgColor="#ffffff" class="ta_01">
<br /><br />
</td>
<td align="right" bgColor="#ffffff" class="ta_01">
<button type="submit" id="search" name="search" value="查询" class="button_view">
查询
</button>
<input type="reset" name="reset" value="重置" class="button_view" />
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="ta_01" align="center" bgColor="#afd1f3">
<strong>订 单 列 表</strong>
</td>
</tr>
<tr>
<td class="ta_01" align="right"></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="20%">订单编号</td>
<td align="center" width="10%">收件人</td>
<td align="center" width="15%">地址</td>
<td align="center" width="10%">联系电话</td>
<td width="11%" align="center">总价</td>
<td width="8%" align="center">所属用户</td>
<td width="10%" align="center">订单状态</td>
<td width="7%" align="center">查看</td>
<td width="7%" align="center">删除</td>
</tr>
<c:forEach items="${orders}" var="order">
<tr onmouseover="this.style.backgroundColor = 'white'"
onmouseout="this.style.backgroundColor = '#F5FAFE';">
<td style="CURSOR: hand; HEIGHT: 22px" align="center" width="20%">${order.id}</td>
<td style="CURSOR: hand; HEIGHT: 22px" align="center" width="10%">${order.receiverName}</td>
<td style="CURSOR: hand; HEIGHT: 22px" align="center" width="15%">${order.receiverAddress }</td>
<td style="CURSOR: hand; HEIGHT: 22px" align="center" width="10%">${order.receiverPhone }</td>
<td style="CURSOR: hand; HEIGHT: 22px" align="center">${order.money}</td>
<td width="8%" align="center">${order.user.username}</td>
<td width="10%" align="center">${order.paystate==0?"未支付":"已支付"}</td>
<td align="center" style="HEIGHT: 22px">
<a href="${pageContext.request.contextPath}/findOrderById?id=${order.id}&type=admin">
<img src="${pageContext.request.contextPath}/admin/images/button_view.gif" border="0" style="CURSOR: hand">
</a>
</td>
<td align="center" style="HEIGHT: 22px">
<!-- 已支付,弹出提示框由操作人确认 -->
<c:if test="${order.paystate!=0 }">
<a href="${pageContext.request.contextPath}/delOrderById?id=${order.id}&type=admin" onclick="javascript:return o_del()">
<img src="${pageContext.request.contextPath}/admin/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand">
</a>
</c:if>
<!-- 未支付 ,不能删除-->
<c:if test="${order.paystate==0 }">
<a href="javascript:alert('不能删除未支付订单')">
<img src="${pageContext.request.contextPath}/admin/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand">
</a>
</c:if>
</td>
</tr>
</c:forEach>
</table>
</td>
</tr>
</TBODY>
</table>
</form>
</body>
</HTML>