代码片段如下public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String nextPage = "digitalweb/cart_list.jsp";
HttpSession session = request.getSession();
HashMap<String,String[]> map=(HashMap<String, String[]>) request.getParameterMap();
ArrayList<Cart> cartList = (ArrayList<Cart>) session.getAttribute("cartList");
if(map.get("type")[0].equals("add")){
Cart cart = new Cart();
cart.setId(Integer.parseInt(map.get("id")[0]));
cart.setName(map.get("name")[0]);
cart.setSale(Double.parseDouble(map.get("sale")[0]));
cart.setPrice(Double.parseDouble(map.get("price")[0]));
cart.setPic(map.get("pic")[0]);
cart.setNum(Integer.parseInt(map.get("num")[0]));
if(cartList==null){
cartList = new ArrayList<Cart>();
session.setAttribute("cartList", cartList);
}
//判断是否又相同的商品
boolean hasCart = false;
for(Cart c:cartList){
if(c.getId() == cart.getId()){
c.setNum(c.getNum()+cart.getNum());
hasCart=true;
break;
}
}
if(!hasCart)
cartList.add(cart);
}
response.sendRedirect(nextPage);
}
这是一个购物车跳转的servlet,在前一个jsp界面点击跳转之后输出如下错误应该是HashMap<String,String[]> map=(HashMap<String, String[]>) request.getParameterMap();出了问题
request.getParameterMap()返回的是一个Map,想把它转换为HashMap操作应该怎么办呢
throws ServletException, IOException {
String nextPage = "digitalweb/cart_list.jsp";
HttpSession session = request.getSession();
HashMap<String,String[]> map=(HashMap<String, String[]>) request.getParameterMap();
ArrayList<Cart> cartList = (ArrayList<Cart>) session.getAttribute("cartList");
if(map.get("type")[0].equals("add")){
Cart cart = new Cart();
cart.setId(Integer.parseInt(map.get("id")[0]));
cart.setName(map.get("name")[0]);
cart.setSale(Double.parseDouble(map.get("sale")[0]));
cart.setPrice(Double.parseDouble(map.get("price")[0]));
cart.setPic(map.get("pic")[0]);
cart.setNum(Integer.parseInt(map.get("num")[0]));
if(cartList==null){
cartList = new ArrayList<Cart>();
session.setAttribute("cartList", cartList);
}
//判断是否又相同的商品
boolean hasCart = false;
for(Cart c:cartList){
if(c.getId() == cart.getId()){
c.setNum(c.getNum()+cart.getNum());
hasCart=true;
break;
}
}
if(!hasCart)
cartList.add(cart);
}
response.sendRedirect(nextPage);
}
这是一个购物车跳转的servlet,在前一个jsp界面点击跳转之后输出如下错误应该是HashMap<String,String[]> map=(HashMap<String, String[]>) request.getParameterMap();出了问题
request.getParameterMap()返回的是一个Map,想把它转换为HashMap操作应该怎么办呢
解决方案 »
- MySql数据库,要得到两个时间的时间差,结果的是分钟
- 如何导出数据库?
- json 问题
- apache-cxf-2.1.3自带例子XMLUtils.parse(is)问题
- hibernate 查询flag字段的第六位字符怎么写?好象不支持flag[6] 这种形式啊
- java 关于使用表格更新数据库(连接数据库)
- rs.getdate()获得的日期没有时分秒怎么弄?用什么办法可以解决?
- swing 開發容器問題(大小背景圖片疊加)
- 一个关于JSP+Tomcat+MySql5.0的中文问题
- 怎样设置TOMCAT的server.xml中的某些端口(急……急!!!!!)
- solrcloud上传solrhome配置文件到zookeeper zookeeper里面却没有configs这个文件
- ContextLoaderListener 类加载器 找不到 但是项目里已导入jar包 自己无法解决的问题
这个,绝对是这句话报错
if (method.getName().equals("getParameterMap")) {
Map<String,String[]> map1= (Map<String, String[]>) method.invoke(req, args);
Map<String,String[]> map = new HashMap<String, String[]>(map1);
Map<String,String[]> map= request.getParameterMap(); 这就可以了
try {
T obj = c.newInstance();
BeanUtils.copyProperties(obj, getBean(request));
return obj;
} catch (Exception e) {
logger.error(e);
}
return null;
}
protected Map getBean(HttpServletRequest request) {
Map bm = new HashMap();
Map<String, String[]> tmp = request.getParameterMap();
if (tmp != null) {
for (String key : tmp.keySet()) {
String[] values = tmp.get(key);
bm.put(key, values.length == 1 ? values[0].trim() : values);
}
}
return bm;
}