纠结啊!郁闷啊!求指点啊! 用JSP做的购物车,用MAP去掉了重复项,怎样获得去每个值去掉重复项多少次?急,!!也就是怎么获取相同物品的数量? 急啊,! 求高手哥哥指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BookInfoService service=new BookInfoService(); response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter(); HttpSession session=request.getSession(); List<Integer> list=new ArrayList<Integer>(); Integer id=Integer.parseInt(request.getParameter("bookid")); // list.add(id); out.print(list.size()); BookInfo bookInfo=service.onlyBookInfo(id); cartItem item=new cartItem(); item.setBookInfo(bookInfo); item.setCount(id); Map<Integer,cartItem> map; map=(Map<Integer,cartItem>)session.getAttribute("mbook"); if(map==null) { map=new HashMap<Integer, cartItem>(); session.setAttribute("mbook", map); } map.put(id, item); 我个SetCount附一个正确的数量啊,我当前传的书籍id肯定不行啦我数据库没数量那一列 在javaBean中传一个count用来表示该商品的数量。点击一次商品count设置加1.初始值为0 BookInfoService service=new BookInfoService(); response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter(); HttpSession session=request.getSession(); List<Integer> list=new ArrayList<Integer>(); Integer id=Integer.parseInt(request.getParameter("bookid")); // list.add(id); out.print(list.size()); BookInfo bookInfo=service.onlyBookInfo(id); cartItem item=new cartItem(); item.setBookInfo(bookInfo); item.setCount(id); Map<Integer,cartItem> map; map=(Map<Integer,cartItem>)session.getAttribute("mbook"); if(map==null) { map=new HashMap<Integer, cartItem>(); session.setAttribute("mbook", map); } map.put(id, item); Map<Integer,cartItem> map;map=(Map<Integer,cartItem>)session.getAttribute("mbook");//存购物车东西的if(map==null){map=new HashMap<Integer, cartItem>();session.setAttribute("mbook", map); }cartItem back_Item=cartItemmap.put(id, item);//put方法返回的valueif(!back_Item=null){map.get(id).setsetCount(item.getCount()+back_Item.getCount());//如果添加时发现有重复,则count是原来的cartItem的count+新添加的cartItem 的count数。} 是这个意思吧,put的时候,如果里面没有就直接添加,如果有,新的添加进去,把久的挤出来了,数量就是新数量+久数量, 每添加一次就累加一次数量。 还有 1.你既然再往session里面放session.setAttribute("mbook", map); 那一旦操作了map,最好更新一下session2.cartItem 类名要大写 谢谢你!我的问题解决了,我忘了Map有个containsKey(key)是判断键是否存在的(true) BookInfoService service=new BookInfoService(); response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter(); HttpSession session=request.getSession(); Integer id=Integer.parseInt(request.getParameter("bookid")); BookInfo bookInfo=service.onlyBookInfo(id); Map<Integer,cartItem> map; map=(Map<Integer,cartItem>)session.getAttribute("mbook"); if(map==null) { map=new HashMap<Integer, cartItem>(); session.setAttribute("mbook", map); } if(!map.containsKey(id)) { cartItem item=new cartItem(); item.setBookInfo(bookInfo); item.setCount(0); map.put(id, item); } cartItem mm=(cartItem)map.get(id); cartItem item=new cartItem(); item.setBookInfo(bookInfo); Integer idex=mm.getCount()+1; item.setCount(idex); map.put(id, item);我的代码 TomCat不能启动 一个查询系统的公共数据,该以什么样的方式存放? 求教:java值对象编写问题 请教一个onkeydown的问题. 也是乱码问题? 在Eclipse里package hello;老是变成红色的X号。为什么? 今天比较了一下jsp与jsp+servlet方式,没看到什么优势,那位大哥能否解释一下! 在线等待,奇怪oracle插入数据不成功??求解 可以在 <% %>里面使用HTML 标记吗? 一个servlet的问题 一言难尽!Not suitable driver for jdbc 小弟正在做java开发,连接数据库时这段程序报错,不知道怎么解决,求高人指点,十分感谢
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
List<Integer> list=new ArrayList<Integer>();
Integer id=Integer.parseInt(request.getParameter("bookid"));
// list.add(id);
out.print(list.size());
BookInfo bookInfo=service.onlyBookInfo(id);
cartItem item=new cartItem();
item.setBookInfo(bookInfo);
item.setCount(id);
Map<Integer,cartItem> map;
map=(Map<Integer,cartItem>)session.getAttribute("mbook");
if(map==null)
{
map=new HashMap<Integer, cartItem>();
session.setAttribute("mbook", map);
}
map.put(id, item);
我数据库没数量那一列
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
List<Integer> list=new ArrayList<Integer>();
Integer id=Integer.parseInt(request.getParameter("bookid"));
// list.add(id);
out.print(list.size());
BookInfo bookInfo=service.onlyBookInfo(id);
cartItem item=new cartItem();
item.setBookInfo(bookInfo);
item.setCount(id);
Map<Integer,cartItem> map;
map=(Map<Integer,cartItem>)session.getAttribute("mbook");
if(map==null)
{
map=new HashMap<Integer, cartItem>();
session.setAttribute("mbook", map);
}
map.put(id, item);
Map<Integer,cartItem> map;
map=(Map<Integer,cartItem>)session.getAttribute("mbook");//存购物车东西的
if(map==null)
{
map=new HashMap<Integer, cartItem>();
session.setAttribute("mbook", map);
}
cartItem back_Item=cartItemmap.put(id, item);//put方法返回的value
if(!back_Item=null){
map.get(id).setsetCount(item.getCount()+back_Item.getCount());//如果添加时发现有重复,则count是原来的cartItem的count+新添加的cartItem 的count数。
}
1.你既然再往session里面放session.setAttribute("mbook", map);
那一旦操作了map,最好更新一下session
2.cartItem 类名要大写
BookInfoService service=new BookInfoService();
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
Integer id=Integer.parseInt(request.getParameter("bookid"));
BookInfo bookInfo=service.onlyBookInfo(id);
Map<Integer,cartItem> map;
map=(Map<Integer,cartItem>)session.getAttribute("mbook");
if(map==null)
{
map=new HashMap<Integer, cartItem>();
session.setAttribute("mbook", map);
}
if(!map.containsKey(id))
{
cartItem item=new cartItem();
item.setBookInfo(bookInfo);
item.setCount(0);
map.put(id, item);
}
cartItem mm=(cartItem)map.get(id);
cartItem item=new cartItem();
item.setBookInfo(bookInfo);
Integer idex=mm.getCount()+1;
item.setCount(idex);
map.put(id, item);
我的代码