java的问题
admin 发表于 2010-04-21 | 来源:互联网 | 阅读:

一个购物车的部分代码,看不大懂。
HttpSession和IndexForm这2个类是在哪个库里边的,我怎么找不到
IndexForm inf = (IndexForm) form; 请问这是什么意思?特别是这个括号是什么用法?我翻了很久的java书也不知道
学jsp大概需要把java学到什么程度,我只把java的语法和部分常用的类和方法了解了一下

//这一步很简单,就是获取session.用于我们后来存储购物车的内容.  
  HttpSession session = request.getSession();  
  //这一步就是从session中获取购物车.  
Vector car = (Vector) session.getAttribute("car");  
  //这是我首页面的Form表单  
IndexForm inf = (IndexForm) form;  
  //product_do是我对于商品处理的一个类,其中包括安商品编号查找商品所有信息.  
product_do pdo = new product_do();  
  //这就是我们得到的从首页面传过来的选定的商品编号的数组  
String[] choice = inf.getChoice();  
  //下面判断这个数组是否为空.  
  if (choice.length == 0) {  
  //如果为空,说明没有选定任何商品,则跳回首页面  
return mapping.getInputForward();  
  } else {  
  //如果不为空,遍历这个数组.  
 for (int i = 0; i < choice.length; i++) {  
  //声明一个布尔型变量,用于以后对于购买重复商品则数量叠加的控制.  
  boolean f = false;  
  //安数组中的现在下标位置的值(也就是商品编号),来获得这个商品的所有信息,并存入一个商品的javabean.  
  productBean pb = pdo.showproductByid(Integer  
  .parseInt(choice[i]));  
  //创建一个新的购物车bean,并向其存入上面得到的商品bean里面的商品信息.  
  carBean cb = new carBean();  
  cb.setProduct_id(pb.getProduct_id());  
  cb.setProduct_name(pb.getProduct_name());  
  cb.setProduct_price(pb.getProduct_price());  
  cb.setProduct_num(1);  
  cb.setProduct_totalmoney();  
  //这个判断是检查上面得到的购物车car是否为空  
  if (car==null) {  
  //如果为空的话,创建一个新的集合Vector,并将上面创建的购物车carBean存放进来.  
  car = new Vector();  
  car.addElement(cb);  
  } else {  
  //如果不为空的话,遍历session中得到的购物车car.  
  for (int j = 0; j < car.size(); j++) {  
  //如果当前商品在购物车中已经存在的话,就给它的数量加一,并且重新计算它的总价格,然后重新放回到car的原位置  
  carBean cb2 = (carBean) car.elementAt(j);  
  if (cb2.getProduct_id() == cb.getProduct_id()) {  
  cb2.setProduct_num(cb2.getProduct_num() + 1);  
  cb2.setProduct_totalmoney();  
  car.setElementAt(cb2, j);  
  f = true;  
  }  
  }  
  //购物车中没有当前商品时,将其添加到购物车中  
  if (f == false) {  
  car.addElement(cb);  
  }  
  }  
 }  
  
}  
//将购物车car放入session中,然后跳转到查看购物车页面.  
session.setAttribute("car", car);  
return mapping.findForward("tocar");  

已经有5 个评论
  1. 萌芽邪恶 说:

    代码贴完整点HttpSession和IndexForm应该是程序包里面的类吧IndexForm inf = (IndexForm) form;//类型转换

  2. 风子 说:

    IndexForm inf = (IndexForm) form 上面说了是页面的Form表单,(IndexForm) 是转为Struts的Form表单。 学习JAVA要把基础学好,常用接口,常用类,工具类都要知道,然后就是实践的过程了。

  3. doing7 说:

    使用struts当页面提交时,struts控制层将会把页面的所有元素封装成 struts-config配置的form对象,实际上已经是IndexForm了,但是由于execute方法是IndexAction继承超类Action中的方法(重载),故该方法是用了超类中的对象类型,所以在IndexAction实例中必须显式的转化:IndexForm inf = (IndexForm) form  这部分在接口开发及使用时经常使用,请参考。

  4. wtaxum 说:

    HttpSession 就是平常说的session   是用struts吗?IndexForm是一个继承ActionForm的类,   你学习java的时间太短了, 基础至少一年

  5. aw3fae 说:

    IndexForm inf = (IndexForm) form 上面说了是页面的Form表单,(IndexForm) 是转为Struts的Form表单。 学习JAVA要把基础学好,常用接口,常用类,工具类都要知道,然后就是实践的过程了。    建议恶补 java。。。

我要评论

评论功能因故关闭!

请加入我们的QQ群一起参与讨论:群号59400482(500人超级群)


返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明