创建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.得到要查询的订单的idString 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"><imgsrc="${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>

实现查看订单详情功能相关推荐

  1. Java Web 网络商城案例演示十五 订单详情功能(提交订单支付界面)

    订单详情功能(提交订单支付界面) 原理分析 步骤实现: 1.准备工作:order_list.jsp当中修改链接 提交当前订单编号 <a href="${pageContext.requ ...

  2. 快递批量查询:教你几种查看订单详情的办法

    单号太多,如何在批量查询快递单号之后,查看单号详情列表?要如何操作?今天就由小编来教教大家几种查看单号详情的办法. 首先,我们要进行快递批量查询高手主页面,并在主页面的任意空白处右击选择"添 ...

  3. 让客户在微信上查看订单详情,【单据分享】让你省心又省力!

    做生意的老板们可能经常会遇到这样的问题:客户打电话或者在微信上面下单订货后,需要把销售单打印出来给客户核对有无错漏. 我们常见的做法有两种: ①把销售单打印出来之后手机拍照发给客户核对.但这种方式有明 ...

  4. Java Web 网络商城案例演示十六 订单详情功能(支付功能的实现使用易付宝)

    sValue.append(p3_Amt); // 交易币种 sValue.append(p4_Cur); // 商品名称 sValue.append(p5_Pid); // 商品种类 sValue. ...

  5. 瑞吉外卖-移动端菜品展示功能,购物车添加菜品及修改等功能,用户下单功能及历史订单派送功能

    整理记录下学习整个瑞吉外卖项目,详细代码可在我的Gitee仓库瑞吉外卖实战克隆下载学习使用! 12.菜品展示 12.1 需求分析 12.2 更改前台页面使其正常显示 由于购物车功能还未进行开发,所以修 ...

  6. mysql订单详情的设计_订单功能模块设计与实现

    在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到购物车结算,然后显示购物车的商品列表,点击去结算,然后到了未提交前的订单列表, 点击提交订单后,生成此订单,返回订单的订单 ...

  7. SSM查看详情功能逻辑代码以及关联码表显示

    场景 在后台管理中,有些报表要显示的字段很多,当进入报表的主页面时,往往只显示部分重要的内容,然后在每一条记录的后面添加一个查看详情按钮,通过点击详情按钮,跳转到显示所有信息的页面. 有时一张报表中存 ...

  8. 【javaWeb微服务架构项目——乐优商城day15】——会调用订单系统接口,实现订单结算功能,实现微信支付功能

    0.学习目标 会调用订单系统接口 实现订单结算功能 实现微信支付功能 源码笔记及资料: 链接:https://pan.baidu.com/s/1_opfL63P1pzH3rzLnbFiNw 提取码:v ...

  9. 淘宝订单API-获取订单详情接口应用

    项目背景 最近做一个电子商务平台的投标工作,写技术标过程中,配到客户一些和淘宝集成的接口,其中有一个需求就是需要将目前ERP系统中的定的那和淘宝店铺中订单进行同步,具体需求如下描述: 1.零售.批销. ...

最新文章

  1. 干货分享|安全测试起航之旅
  2. 4到20ma模拟量转换公式_西门子 S7-1200 模拟量转换
  3. 获取Class类对象的三种方式
  4. MySQL 批量插入数据,单次插入多少条数据效率最高
  5. Oracle 表空间错误集锦
  6. C Linux 文件加锁 lock fcntl
  7. LeetCode - Merge Two Sorted Lists
  8. 【单目标优化求解】基于matlab粒子群算法求解非线性目标函数最小值问题【含Matlab源码 1573期】
  9. VisualRoute for Mac OS 体验
  10. 单片机炫彩灯实训报告_单片机实验报告——流水灯
  11. 大数据行业热门岗位有哪些
  12. linux系统下部署python自动化程序并配置Jenkins定时执行
  13. Wiz.Editor.md 为知笔记 Markdown 插件
  14. java取模数_java如何用负数做模数计算?
  15. 一个用在手机上的简单js拖拽效果
  16. IP地址的规划和设计方法(二)
  17. 数据库开发与设计规范
  18. 鲁宾逊微积分与“知识共享”,携手相伴进入中国
  19. 【从饮水机到名人堂之c语言】操作符详解(1)
  20. 该怎么学Python?自学Python的方法整理!

热门文章

  1. YUV格式学习:Y转换成RGB24
  2. [大学回忆录]桂X大学大二(上)学期总结
  3. 【Clickhouse】Clckhouse 视图 可以插入 但是查询不到
  4. 95-872-064-源码-CEP-CepOperator源码
  5. 95-40-014-生产者-KafkaProducer
  6. 【kafka】服务器上Kafka启动 Cannot allocate memory
  7. 【Elasticsearch】es如何停用节点
  8. 【Flink】flink Kafka报错 : Failed to send data to Kafka: This server is not the leader for that topic-pa
  9. 【Antlr】Antlr生成调用图
  10. Docker 安装 Tomcat