For input string: ""
StringCommodityID=request.getParameter("CommodityID");intbuycount=Integer.parseInt(re...
String CommodityID=request.getParameter("CommodityID");
int buycount=Integer.parseInt(request.getParameter("buycount"));
QueryDao dao=new QueryDao();
Map<String,Object> record=dao.get(Integer.parseInt(CommodityID));
//获取Session,是指用于多个连续页面实现数据共享的一种技术。
HttpSession session=request.getSession();
//创建一个用于描述购物车的List
List<Map<String,Object>> cart=null;
//这是购买第一件产品,即现在没有车子,我们就创建一个车子
if(session.getAttribute("cart")==null){
//创建一个车子
cart=new ArrayList<Map<String,Object>>();
//设置商品数量(增加一列)
record.put("buycount", buycount);
//增加总价
record.put("totalprice", buycount*Float.parseFloat(record.get("Money").toString()));
//把产品放入车子就行了。
cart.add(record);
}else{ //说明已经有车子了
//拿到了之前的车子
cart=(List<Map<String,Object>>)session.getAttribute("cart");
//判断该次购买的产品是否已在车中,默认不在车中
boolean inCart=false;
//循环车子,判断当前购买的产品是已经购买过(重复购买)
for(int i=0;i<cart.size();i++){
//获取每一条车子中已有的产品
Map<String,Object> temprecord=cart.get(i);
//是重复购买
if(temprecord.get("CommodityID").equals(CommodityID)){
//取出之前购买的数量,加上本次的购买数量
temprecord.put("buycount", Integer.parseInt(temprecord.get("buycount").toString())+buycount);
//重新计算总价
temprecord.put("totalprice", Float.parseFloat(temprecord.get("totalprice").toString())+buycount*Float.parseFloat(record.get("Money").toString()));
//将更改的记录重新放入Cart(更改)
//cart.add(i, temprecord);
inCart=true;
break;
}
}
//该产品不在车中
if(inCart==false){
System.out.println("buycount:"+buycount);
//增加数量列
record.put("buycount", buycount);
//增加总价列
record.put("totalprice", buycount*Float.parseFloat(record.get("Money").toString()));
System.out.println("===="+record);
//把商品放入车子
cart.add(record);
}
}
//将车子放入Session
session.setAttribute("cart", cart);
//跳转页面
request.getRequestDispatcher("cart.jsp").forward(request, response);
} 展开
int buycount=Integer.parseInt(request.getParameter("buycount"));
QueryDao dao=new QueryDao();
Map<String,Object> record=dao.get(Integer.parseInt(CommodityID));
//获取Session,是指用于多个连续页面实现数据共享的一种技术。
HttpSession session=request.getSession();
//创建一个用于描述购物车的List
List<Map<String,Object>> cart=null;
//这是购买第一件产品,即现在没有车子,我们就创建一个车子
if(session.getAttribute("cart")==null){
//创建一个车子
cart=new ArrayList<Map<String,Object>>();
//设置商品数量(增加一列)
record.put("buycount", buycount);
//增加总价
record.put("totalprice", buycount*Float.parseFloat(record.get("Money").toString()));
//把产品放入车子就行了。
cart.add(record);
}else{ //说明已经有车子了
//拿到了之前的车子
cart=(List<Map<String,Object>>)session.getAttribute("cart");
//判断该次购买的产品是否已在车中,默认不在车中
boolean inCart=false;
//循环车子,判断当前购买的产品是已经购买过(重复购买)
for(int i=0;i<cart.size();i++){
//获取每一条车子中已有的产品
Map<String,Object> temprecord=cart.get(i);
//是重复购买
if(temprecord.get("CommodityID").equals(CommodityID)){
//取出之前购买的数量,加上本次的购买数量
temprecord.put("buycount", Integer.parseInt(temprecord.get("buycount").toString())+buycount);
//重新计算总价
temprecord.put("totalprice", Float.parseFloat(temprecord.get("totalprice").toString())+buycount*Float.parseFloat(record.get("Money").toString()));
//将更改的记录重新放入Cart(更改)
//cart.add(i, temprecord);
inCart=true;
break;
}
}
//该产品不在车中
if(inCart==false){
System.out.println("buycount:"+buycount);
//增加数量列
record.put("buycount", buycount);
//增加总价列
record.put("totalprice", buycount*Float.parseFloat(record.get("Money").toString()));
System.out.println("===="+record);
//把商品放入车子
cart.add(record);
}
}
//将车子放入Session
session.setAttribute("cart", cart);
//跳转页面
request.getRequestDispatcher("cart.jsp").forward(request, response);
} 展开
5个回答
展开全部
For input string: ""
类型转换的时候出错了。你要判断一下字符串是否为空。
类型转换的时候出错了。你要判断一下字符串是否为空。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很有可能使类型转换的时候超出范围了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-05
展开全部
应该贴上具体的错误信息,这样的特定的软件代码,别人很麻烦去做测试的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是标题那个原因的话~看看是否从前台获得了数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询