IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 实现查看订单详情功能 -> 正文阅读

[Java知识库]实现查看订单详情功能

创建Servlet

单击“”图标链接,发送“/findOrderById?id=6f591522-7a2a-4a31-899d-ef1181c72f5f&type=admin”,由FindOrderByIdServlet处理

/**
 * 通过id查询订单
 * @author admin
 *
 */
public class FindOrderByIdServlet 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 {
		//1.获取用户类型
		String type=request.getParameter("type");		
		//2.得到要查询的订单的id
		String id = request.getParameter("id");
		//3.根据id查找订单
		OrderService service = new OrderService();
		Order order = service.findOrderById(id);
        //4.将查询出的订单信息添加到request作用域中
		request.setAttribute("order", order);
		//5.如果用户类型不为null,则请求转发到view.jsp页面,否则转发到orderInfo.jsp页面
		if(type!=null){
			request.getRequestDispatcher("/admin/orders/view.jsp").forward(request, response);
			return;
		}
		request.getRequestDispatcher("/client/orderInfo.jsp").forward(request, response);
	}

}

编写Service层方法

// 根据id查找订单
public Order findOrderById(String id) {
	Order order = null;
	try {
		order = odao.findOrderById(id);
		List<OrderItem> items = oidao.findOrderItemByOrder(order);
		order.setOrderItems(items);
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return order;
}

编写DAO层方法

OrderDao

/**
 * 根据id查找订单信息
 * @param id
 * @return
 * @throws SQLException
 */
public Order findOrderById(String id) throws SQLException {
	String sql = "select * from orders,user "
			+ "where orders.user_id=user.id and orders.id=?";
	QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
	return runner.query(sql, new ResultSetHandler<Order>() {
		public Order handle(ResultSet rs) throws SQLException {
			Order order = new Order();
			while (rs.next()) {
				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"));

				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 order;
		}
	}, id);
}

OrderItemDao

// 根据订单查找订单项.并将订单项中商品查找到。
public List<OrderItem> findOrderItemByOrder(final Order order)
		throws SQLException {
	String sql = "select * from orderItem,products "
			+ "where products.id=orderItem.product_id and order_id=?";

	QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());

	return runner.query(sql, new ResultSetHandler<List<OrderItem>>() {
		public List<OrderItem> handle(ResultSet rs) throws SQLException {

			List<OrderItem> items = new ArrayList<OrderItem>();
			while (rs.next()) {
				OrderItem item = new OrderItem();

				item.setOrder(order);
				item.setBuynum(rs.getInt("buynum"));

				Product p = new Product();
				p.setCategory(rs.getString("category"));
				p.setId(rs.getString("id"));
				p.setDescription(rs.getString("description"));
				p.setImgurl(rs.getString("imgurl"));
				p.setName(rs.getString("name"));
				p.setPnum(rs.getInt("pnum"));
				p.setPrice(rs.getDouble("price"));
				item.setP(p);

				items.add(item);
			}

			return items;
		}
	}, order.getId());
}

创建显示页面

<%@ 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" type="text/css" rel="stylesheet">
	<script language="javascript" src="${pageContext.request.contextPath}/js/public.js"></script>
</HEAD>
<body>
	<table cellSpacing="1" cellPadding="5" width="100%" align="center"
		bgColor="#eeeeee" style="border: 1px solid #8ba7e3" border="0">
		<tr>
			<td class="ta_01" align="center" bgColor="#afd1f3" colSpan="4" height="26">
				<strong>
					订单详细信息
				</strong>
			</td>
		</tr>
		<tr>
			<td width="18%" align="center" bgColor="#f5fafe" class="ta_01">订单编号:</td>
			<td class="ta_01" bgColor="#ffffff">${order.id}</td>
			<td align="center" bgColor="#f5fafe" class="ta_01">所属用户:</td>
			<td class="ta_01" bgColor="#ffffff">${order.user.username }</td>
		</tr>
		<tr>
			<td align="center" bgColor="#f5fafe" class="ta_01">收件人:</td>
			<td class="ta_01" bgColor="#ffffff">${order.receiverName }</td>
			<td align="center" bgColor="#f5fafe" class="ta_01">联系电话:</td>
			<td class="ta_01" bgColor="#ffffff">${order.receiverPhone }</td>
		</tr>
		<tr>
			<td align="center" bgColor="#f5fafe" class="ta_01">送货地址:</td>
			<td class="ta_01" bgColor="#ffffff">${order.receiverAddress}</td>
			<td align="center" bgColor="#f5fafe" class="ta_01">总价:</td>
			<td class="ta_01" bgColor="#ffffff">${order.money }</td>
		</tr>
		<tr>
			<td align="center" bgColor="#f5fafe" class="ta_01">下单时间:</td>
			<td class="ta_01" bgColor="#ffffff" colSpan="3">${order.ordertime}</td>
		</tr>
		<TR>
			<TD class="ta_01" align="center" bgColor="#f5fafe">商品信息</TD>
			<TD class="ta_01" bgColor="#ffffff" colSpan="3">
				<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="7%">序号</td>
						<td width="8%" align="center">商品</td>
						<td align="center" width="18%">商品编号</td>
						<td align="center" width="10%">商品名称</td>
						<td align="center" width="10%">商品价格</td>
						<td width="7%" align="center">购买数量</td>
						<td width="7%" align="center">商品类别</td>
						<td width="31%" align="center">商品描述</td>
					</tr>
					<c:forEach items="${order.orderItems}" var="item" varStatus="vs">
						<tr style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #eeeeee">
							<td align="center" width="7%">${vs.count }</td>
							<td width="8%" align="center">
								<img src="${pageContext.request.contextPath}${item.p.imgurl}" width="50" height="50">
							</td>
							<td align="center" width="18%">${item.p.id }</td>
							<td align="center" width="10%">${item.p.name }</td>
							<td align="center" width="10%">${item.p.price }</td>
							<td width="7%" align="center">${item.buynum }</td>
							<td width="7%" align="center">${item.p.category }</td>
							<td width="31%" align="center">${item.p.description}</td>
						</tr>
					</c:forEach>
				</table>
			</TD>
		</TR>
		<TR>
			<td align="center" colSpan="4" class="sep1"><img
				src="${pageContext.request.contextPath}/admin/images/shim.gif">
			</td>
		</TR>
		<TR>
			<td class="ta_01" style="WIDTH: 100%" align="right" bgColor="#f5fafe" colSpan="4">
				<FONT face="宋体">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>
				<INPUT class="button_ok" type="button" onclick="history.go(-1)" value="返回" /> 
				<span id="Label1"></span>
			</td>
		</TR>
	</table>
</body>
</HTML>
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-28 22:46:11  更:2021-12-28 22:48:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:15:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码