原理分析

具体实现

order_list.jsp中修改链接

这部分上一节图片中已经改了,这里提示一下。

OrderServlet中添加findOrderByOid方法

//findOrderByOid

public String findOrderByOid(HttpServletRequest req, HttpServletResponse resp) throws Exception {

//获取到订单oid

String oid=req.getParameter("oid");

//调用业务层功能:根据订单编号查询订单信息

OrderService OrderService=new OrderServiceImp();

Order order=OrderService.findOrderByOid(oid);

// 将订单放入request

req.setAttribute("order", order);

// 转发到/jsp/order_info.jsp

return "/jsp/order_info.jsp";

}

OrderService中添加findOrderByOid方法

Order findOrderByOid(String oid)throws Exception;

OrderServiceImp中添加实现方法

@Override

public Order findOrderByOid(String oid) throws Exception {

return orderDao.findOrderByOid(oid);

}

OrderDao中添加该方法

Order findOrderByOid(String oid)throws Exception;

OrderDaoImp中实现该方法

@Override

public Order findOrderByOid(String oid) throws Exception {

String sql="select * from orders where oid= ?";

QueryRunner qr=new QueryRunner(JDBCUtils.getDataSource());

Order order=qr.query(sql, new BeanHandler(Order.class),oid);

//根据订单id查询订单下所有的订单项以及订单项对应的商品信息

sql="select * from orderitem o, product p where o.pid=p.pid and oid=?";

List> list02 = qr.query(sql, new MapListHandler(),oid);

//遍历list

for (Mapmap : list02) {

OrderItem orderItem=new OrderItem();

Product product=new Product();

// 由于BeanUtils将字符串"1992-3-3"向user对象的setBithday();方法传递参数有问题,手动向BeanUtils注册一个时间类型转换器

// 1_创建时间类型的转换器

DateConverter dt = new DateConverter();

// 2_设置转换的格式

dt.setPattern("yyyy-MM-dd");

// 3_注册转换器

ConvertUtils.register(dt, java.util.Date.class);

//将map中属于orderItem的数据自动填充到orderItem对象上

BeanUtils.populate(orderItem, map);

//将map中属于product的数据自动填充到product对象上

BeanUtils.populate(product, map);

//让每个订单项和商品发生关联关系

orderItem.setProduct(product);

//将每个订单项存入订单下的集合中

order.getList().add(orderItem);

}

return order;

}

JSP页面

开发中,多个功能对应同一个JSP页面,为了提高代码复用率,所有的功能在向同一个JSP页面转发的时候,向request存入相同的数据(属性名一致)

因此,order_info.jsp中的页面就不需要改了

效果演示

在我们的订单展示页面,点击付款

成功跳到订单详情页面,并且成功获取到了我们订单中的商品信息,到这里我们就实现了订单详情查询功能。

源码下载

[dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

导航目录

[dm href=’https://www.jikewenku.com/project/2786.html’]查看导航[/dm]

java浏览 下单界面_Javaweb网上商城项目实战(24)实现订单详情查询功能相关推荐

  1. java清空购物车方法_Javaweb网上商城项目实战(21)删除和清空购物车

    删除购物车原理分析 具体实现 在cart.jsp中绑定点击删除事件 在页面中的删除标签里面加一个id 编写删除的方法 在CartServlet中添加删除购物车商品的方法removeCartItem / ...

  2. java 商城 商品查询_Javaweb网上商城项目实战(17)实现商品详情查询

    原理分析 具体实现 下面是商品详情页面product_info.jsp显示的样子,我们最初的模板的静态资源已经写死了, 这里我们需要先对这个页面进行改造,使得到时候主页点击商品能输出对应的商品详情页面 ...

  3. java怎么添加商品信息_Javaweb网上商城项目实战(20)添加商品到购物车

    原理分析 具体实现 准备工作 有些准备工作在之前已经实现了,这里强调一下,如果没改的自己改一下,已经完成了的也检查一下. 1.在product_list.jsp中修改链接 2.product_info ...

  4. 【SSH网上商城项目实战23】完成在线支付功能

    转自:https://blog.csdn.net/eson_15/article/details/51464415 上一节我们做好了支付页面的显示,从上一节支付页面显示的jsp代码中可以看出,当用户点 ...

  5. 【SSH网上商城项目实战19】订单信息的级联入库以及页面的缓存问题

    购物车这一块还剩最后两个问题,就是订单信息的级联入库和页面缓存,这里的信息是指购物车和购物项,即我们将购物车的信息存入数据库的同时,也存入每个购物项的信息,而且外键都关联好,这涉及到了Hibernat ...

  6. java web网上商城项目实战与源码

    java web网上商城项目实战与源码 点击这里,轻松完成毕设https://x-x.fun/i/AAbf595445aBT

  7. 【SSH网上商城项目实战】之环境搭建填坑

    此篇主要是记录我在从零开始走一遍倪升武大神的[SSH网上商城项目实战]过程中遇到的一些坑并记录解决方法.关于这个项目,大家可以去倪升武的博客学习了解,SSH网上商城项目实战请戳倪升武的项目实战专题. ...

  8. 【SSH网上商城项目实战21】从Demo中看易宝支付的流程

    这一节我们先写一个简单点的Demo来测试易宝支付的流程,熟悉这个流程后,再做实际的开发,因为是一个Demo,所以我没有考虑一些设计模式的东西,就是直接实现支付功能.实现支付功能需要易宝给我们提供的AP ...

  9. 【SSH网上商城项目实战16】Hibernate的二级缓存处理首页的热门显示

    转自:https://blog.csdn.net/eson_15/article/details/51405911 网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要 ...

  10. 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2

    转自:https://blog.csdn.net/eson_15/article/details/51277324 今天开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH.这篇博文主要总 ...

最新文章

  1. 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码破解...
  2. mysql distinct 慢_MySQL 5.5“select distinct”真的很慢
  3. python实现高校教务管理系统_python实现教务管理系统
  4. 对注册表项的访问被拒绝的解决
  5. 计算机管理无法连接虚拟磁盘服务,虚拟磁盘服务错误怎么操作【图文教程】
  6. s7300plc串口通信_西门子S7-300/400串口通信模块的信息与使用
  7. GB28181平台介绍
  8. 操作系统进程间通信简述
  9. 4. tensorflow2实现抽样分布—卡方分布、F分布、t分布、Beta分布、Gamma分布——python实战
  10. 关于BDC、SSP搜索相关解决方案 的数据结构
  11. 类似%-30的字串解码办法
  12. WordPress 下载量最高的十个插件
  13. 通过smtplib和email发送验证码到电子邮箱(Python3.7.X)
  14. 部署Azkaban多节点分布式模式
  15. 2021爱分析・区域性银行数字化实践报告
  16. 2011年电子科技大学博士生招生参考书目
  17. ipad无法加入网络怎么办?
  18. 对recv函数的一些理解
  19. 搭建和配置支撑2000人同时观看的流媒体服务器系统(Linux步骤详解)
  20. OFDM 调制系统框图 OFDM

热门文章

  1. 数独大师级技巧_数独入门:你必须掌握的那些规则和技巧
  2. Flutter ListView ListView.build ListView.separated
  3. Overleaf使用技巧 (latex公式,latex表格,latex图片排版)
  4. 计算机学院品牌活动总结,计算机学院研究生会工作总结
  5. matlab中zeros()函数与ones()函数用法
  6. 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
  7. 125K非接触IC卡读卡头
  8. JAVA300讲之第四章练习题答案详解
  9. 统计学的Python实现-015:调和平均数
  10. 昔者,圣人之作易也,幽赞神明而生蓍