我在一个JSP页面表单中列了一个表格,表格的每一行前有一个checkbox,checkbox的name="itemId" value="<%=item.getItemId()%",下面还有个提交按钮,这个表格可以正常显示.但是把checkbox的值传给下个页面时却没接受到参数!!!
我是这样接受的String[] items=request.getParameterValues("itemId");if(items!=null) {
 for(int i=0;i<items.length;i++) {
 
 if(action.equals("放入购物车")) cart.addItems(items[i],1);
 else
 if(action.equals("删除"))cart.removeItem(items[i]);
 
 
 }
}这个items为null!  谁能给出可能出现的原因!!!

解决方案 »

  1.   

    可能你根本就没有给<%=item.getItemId()%>赋值
      

  2.   

    当前页面表单可以正常显示,如其他的信息 名称,价格等
    Item item=new Item("0",name,price,..);我把所有的item封装在一个Vector里,从Vector里迭代取出信息
    Item item=(Item)v.nextElement();然后用<%=item.getName()%> <%=item.getItemId()%>来取值的
      

  3.   

    我把代码贴出来
    Shopping.jsp
    <%@ page contentType="text/html;charset=GBK"%>
    <jsp:useBean id="product" class="com.beans.Products" scope="session"/>
    <%@page import="com.beans.*;"%>
    <html>
    <head>
    <title>
    欢迎您的购物
    </title>
    </head><body>
    <%@ include file="header.jsp"%>
    <center>
    <form action="cart.jsp" method="post"><table width="75%" border="1" bordercolor="#006633">
    <tr bgcolor="#999999">
    <td align="center">ID</td>
    <td align="center">名称</td>
    <td align="center">价格</td>
    <td align="center">是否有货</td>
    <td align="center">出版社</td>
    </tr>
    <%
    response.setContentType("text/html;charset=GBK");
    java.util.Vector v=product.getItems();java.util.Enumeration e=v.elements();while(e.hasMoreElements()) {
    Item item=(Item)e.nextElement();
     
    %>
    <tr>
    <td><input type="checkbox" name="itemId" value="<%=item.getItemId()%>"></td>
    <td><%=item.getDescription()%></td>
    <td><%=item.getPrice()%></td>
    <td><%=item.isEmpty()%></td>
    <td><%=item.getProducer()%></td>
    </tr>
    <%
    }
    %>
    <tr>
    <td align="left" colspan="5"><input type="submit" name="action" value="add"/></td>
    </tr>
    <tr>
    <td align="left" colspan="5" ><a href="cart.jsp">查看购物车</a> &nbsp;&nbsp;<a href="loginout.jsp">注销</a></td>
    </tr>
    </table>
    </form>
    </center>
    <%@ include file="foot.jsp"%>
    </body>
    </html>
      

  4.   

    cart.jsp
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="com.beans.*,java.util.*" %>
    <jsp:useBean id="cart" class="com.beans.Cart" scope="session"/>
    <jsp:useBean id="product" class="com.beans.Products" scope="session"/><html>
    <head>
    <title>
    查看购物车
    </title>
    </head>
    <body>
    <%
    String action=request.getParameter("action");String[] items=request.getParameterValues("itemId");if(items!=null) {
     for(int i=0;i<items.length;i++) {
     
     if(action.equals("add")) cart.addItems(items[i],1);
     else
     if(action.equals("删除"))cart.removeItem(items[i]);
     
     
     }
    }%>
    <%@include file="header.jsp"%>
    <center>
    <form action="cart.jsp" method="get">
    <table width="75%" border="1" bordercolor="#006633">
    <tr bgcolor="#999999">
    <td>ID</td>
    <td>名称</td>
    <td>数量</td>
    </tr>
    <%
    java.util.HashMap hm=cart.getItems();
    Iterator it=hm.keySet().iterator();while(it.hasNext()){
    String id=(String)it.next();Item item=product.getItem(id);
      %>
    <tr>
    <td><input type="checkbox" name="itemId" value="<%=item.getItemId()%>"/> </td>
    <td><%=item.getDescription()%></td>
    <td><%= hm.get(id)%></td></tr>
    <%
    } %>
    <tr>
    <td align="left" colspan="3"><input type="submit" name="action" value="删除"/></td>
    </tr>
    <tr>
    <td align="left" colspan="3"><a href="shopping.jsp">继续购物</a>&nbsp;&nbsp;<a href="loginout.jsp"></a></td>
    </tr>
    </table>
    </form>
    </center>
    <%@include file="foot.jsp"%>
    </body>
    </html>
      

  5.   

    <input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
    应该是这儿错了..是不是value没有值啊.确认一下..
      

  6.   

    <input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
    改成<input type="checkbox" name="itemId" value="aa"> 然后你从里面去值,看能取出来不