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);
}
展开
 我来答
百度网友585f6c5a2
推荐于2017-04-27 · TA获得超过331个赞
知道答主
回答量:21
采纳率:0%
帮助的人:17.1万
展开全部
我遇到了和你同样的问题,并且按照我的理解修改后成功解决问题,我的解释是:表单中没有数据而你又提交到后台进行数据类型转换,所以会出错,如果表单中没有数据时,提交到后台的是 “” 而不是NULL,弄清楚这个问题后应该就知道相应的解决办法了,希望可以帮到你。
talentwei8899
2013-05-06 · TA获得超过768个赞
知道小有建树答主
回答量:669
采纳率:0%
帮助的人:386万
展开全部
For input string: ""
类型转换的时候出错了。你要判断一下字符串是否为空。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yixin19870216
2013-07-24 · 超过10用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:16.5万
展开全部
很有可能使类型转换的时候超出范围了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-05
展开全部
应该贴上具体的错误信息,这样的特定的软件代码,别人很麻烦去做测试的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wsly111
2013-05-06 · 超过12用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:19.1万
展开全部
如果是标题那个原因的话~看看是否从前台获得了数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式