一个购物车的部分代码,看不大懂。
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");
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");
HttpSession和IndexForm应该是程序包里面的类吧
IndexForm inf = (IndexForm) form;//类型转换
是用struts吗?IndexForm是一个继承ActionForm的类,
你学习java的时间太短了, 基础至少一年
建议恶补 java