点击add之后,返回的值确实null,很纳闷,求仙哥仙女们帮助程序如下
SelectGoods.javapackage shop;import java.util.Vector;import javax.servlet.http.HttpServletRequest;public class SelectGoods extends Object{
Vector cart=null;
String submit=null;
Goods goods=null;
public SelectGoods(){
cart=new Vector();
}
public void setGoods(Goods goods){
this.goods=goods;
}
public void setSubmit(String submit){
this.submit=submit;
}
public Vector getGoods(){
return cart;
}
public void addGoods(Goods goods){
cart.add(goods);
}
public void removeGoods(Goods goods){
cart.remove(goods);
}
public void goodsRequest(HttpServletRequest req){
if(submit!=null){
if(submit.equals("add")){
addGoods(goods);
}
else{
removeGoods(goods);
}
reset();
}
}
public void reset(){
submit=null;
goods=null;
}}
Test.jsp<%@ page language="java" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'ShowGoods.jsp' starting page</title> </head>
<body>
This is my JSP page. <br>
<hr>
<form action="Test2.jsp" method="post">
<select name='goods'>
<option>B a</option>
<option>C d</option>
<option>E f</option>
<option>G h</option>
</select> <input type=submit name="submit" value="add">
</form>
</body>
</html>
Test2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Test2.jsp' starting page</title>
</head>
<body>
This is my JSP page. <br>
<% String submit=request.getParameter("submit");
if(submit!=null){
%>
<hr>
<h2 align="center">My cart</h2>
<p>
<jsp:useBean id="mycart" scope="session"
class="shop.SelectGoods"/>
<jsp:setProperty name="mycart" property="*"/>
<% mycart.goodsRequest(request);
%>
<table width="75%" align="center" border="1">
<% Vector products=mycart.getGoods();
for(int i=0;i<products.size();i++){
%>
<tr>
<td align="center"><%= products.get(i) %></td>
<td><a href="Test2.jsp?product=<%=products.get(i)%>&submit=remove">Remove</a></td>
</tr>
<%
}
if(products.size()==0){
%>
<tr><td>My cart is empty</td></tr>
<%
}
%>
</table>
<%
}
%>
</body>
</html>
SelectGoods.javapackage shop;import java.util.Vector;import javax.servlet.http.HttpServletRequest;public class SelectGoods extends Object{
Vector cart=null;
String submit=null;
Goods goods=null;
public SelectGoods(){
cart=new Vector();
}
public void setGoods(Goods goods){
this.goods=goods;
}
public void setSubmit(String submit){
this.submit=submit;
}
public Vector getGoods(){
return cart;
}
public void addGoods(Goods goods){
cart.add(goods);
}
public void removeGoods(Goods goods){
cart.remove(goods);
}
public void goodsRequest(HttpServletRequest req){
if(submit!=null){
if(submit.equals("add")){
addGoods(goods);
}
else{
removeGoods(goods);
}
reset();
}
}
public void reset(){
submit=null;
goods=null;
}}
Test.jsp<%@ page language="java" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'ShowGoods.jsp' starting page</title> </head>
<body>
This is my JSP page. <br>
<hr>
<form action="Test2.jsp" method="post">
<select name='goods'>
<option>B a</option>
<option>C d</option>
<option>E f</option>
<option>G h</option>
</select> <input type=submit name="submit" value="add">
</form>
</body>
</html>
Test2.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Test2.jsp' starting page</title>
</head>
<body>
This is my JSP page. <br>
<% String submit=request.getParameter("submit");
if(submit!=null){
%>
<hr>
<h2 align="center">My cart</h2>
<p>
<jsp:useBean id="mycart" scope="session"
class="shop.SelectGoods"/>
<jsp:setProperty name="mycart" property="*"/>
<% mycart.goodsRequest(request);
%>
<table width="75%" align="center" border="1">
<% Vector products=mycart.getGoods();
for(int i=0;i<products.size();i++){
%>
<tr>
<td align="center"><%= products.get(i) %></td>
<td><a href="Test2.jsp?product=<%=products.get(i)%>&submit=remove">Remove</a></td>
</tr>
<%
}
if(products.size()==0){
%>
<tr><td>My cart is empty</td></tr>
<%
}
%>
</table>
<%
}
%>
</body>
</html>
解决方案 »
- 两种方式得到Spring上下文,但得到的对象不是同一个,求教大家~
- Javaweb开发
- 谁写过进存销系统,是把以前的C/S系统改为B/S系统,给点思路资料或建议吧
- 考大家一个SQL...
- jsp中有没有这个函数?
- 求struts的入门教程
- 求weblogic环境下的验证码实现代码
- 关于泛型。
- 子页提交由多个下拉菜单及input组成的表单提交给父页,提交后就多显示一条,还可以接续添加,怎么做?
- No action instance for path /user/login could be created
- spring 3.0有那些包需要加进去呀
- result 'null' not found的问题
真心没看懂
而且SelectGoods中的goods从来就没有被赋过值,只是开始时给了个空
SelectGoods中的goods类型为Goods,option中取出来的是String类型,需要转换
你说的问题,我改了,怎么还是null...
package shop;import java.util.Vector;import javax.servlet.http.HttpServletRequest;public class SelectGoods extends Object{
Vector cart=null;
String submit=null;
String goods=null;
public SelectGoods(){
cart=new Vector();
}
public void setGoods(String goods){
this.goods=goods;
}
public void setSubmit(String submit){
this.submit=submit;
}
// public Vector getGoods(){
// return cart;
// }
public String[] getGoods(){
String[] s=new String[cart.size()];
cart.copyInto(s);
return s;
}
public void addGoods(String goods){
cart.add(goods);
}
public void removeGoods(String goods){
cart.remove(goods);
}
public void goodsRequest(HttpServletRequest req){
if(submit!=null){
if(submit.equals("add")){
addGoods(goods);
}
else{
removeGoods(goods);
}
reset();
}
}
public void reset(){
submit=null;
goods=null;
}}Test.jsp <form action="Test2.jsp" method="post">
<select name="goods">
<option value="ba">B a</option>
<option value="cd">C d</option>
<option value="ef">E f</option>
<option value="gh">G h</option>
</select>
<input type=submit name="submit" value="add">
</form>Test2.jsp <% String[] products=mycart.getGoods();
for(int i=0;i<products.length;i++){
%>
if(submit!=null){
setGoods(req.getParameter("goods"));
if(submit.equals("add")){
removeGoods(goods);
}
else{
removeGoods(goods);
}
reset();
}
}