我是这样接受的
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! 谁能给出可能出现的原因!!!
8 个解决方案
#1
可能你根本就没有给<%=item.getItemId()%>赋值
#2
当前页面表单可以正常显示,如其他的信息 名称,价格等
Item item=new Item("0",name,price,..);
我把所有的item封装在一个Vector里,从Vector里迭代取出信息
Item item=(Item)v.nextElement();
然后用<%=item.getName()%> <%=item.getItemId()%>来取值的
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> <a href="loginout.jsp">注销</a></td>
</tr>
</table>
</form>
</center>
<%@ include file="foot.jsp"%>
</body>
</html>
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> <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> <a href="loginout.jsp"></a></td>
</tr>
</table>
</form>
</center>
<%@include file="foot.jsp"%>
</body>
</html>
<%@ 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> <a href="loginout.jsp"></a></td>
</tr>
</table>
</form>
</center>
<%@include file="foot.jsp"%>
</body>
</html>
#5
复杂
#6
一个购物车 没这么复杂吧,应该可以写个类就能实现了。
#7
<input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
应该是这儿错了..是不是value没有值啊.确认一下..
应该是这儿错了..是不是value没有值啊.确认一下..
#8
<input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
改成<input type="checkbox" name="itemId" value="aa"> 然后你从里面去值,看能取出来不
改成<input type="checkbox" name="itemId" value="aa"> 然后你从里面去值,看能取出来不
#1
可能你根本就没有给<%=item.getItemId()%>赋值
#2
当前页面表单可以正常显示,如其他的信息 名称,价格等
Item item=new Item("0",name,price,..);
我把所有的item封装在一个Vector里,从Vector里迭代取出信息
Item item=(Item)v.nextElement();
然后用<%=item.getName()%> <%=item.getItemId()%>来取值的
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> <a href="loginout.jsp">注销</a></td>
</tr>
</table>
</form>
</center>
<%@ include file="foot.jsp"%>
</body>
</html>
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> <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> <a href="loginout.jsp"></a></td>
</tr>
</table>
</form>
</center>
<%@include file="foot.jsp"%>
</body>
</html>
<%@ 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> <a href="loginout.jsp"></a></td>
</tr>
</table>
</form>
</center>
<%@include file="foot.jsp"%>
</body>
</html>
#5
复杂
#6
一个购物车 没这么复杂吧,应该可以写个类就能实现了。
#7
<input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
应该是这儿错了..是不是value没有值啊.确认一下..
应该是这儿错了..是不是value没有值啊.确认一下..
#8
<input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
改成<input type="checkbox" name="itemId" value="aa"> 然后你从里面去值,看能取出来不
改成<input type="checkbox" name="itemId" value="aa"> 然后你从里面去值,看能取出来不