最新公告
  • 新注册用户请前往个人中心绑定邮箱以便接收相关凭证邮件!!!点击前往个人中心
  • Javaweb网上商城项目实战(24)实现订单详情查询功能

    原理分析

    具体实现

    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 (Map map : 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]

    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » Javaweb网上商城项目实战(24)实现订单详情查询功能

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    参与讨论

    • 192会员总数(位)
    • 3737资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 614稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级