以下例子在D:\Apache Tomcat 4.0\webapps\examples\jsp\sessions中。我只是把按钮的数值改为中文就出错了各位请看:请问怎样解决,我用了
p559 2003-04-04 12:02:36 以下例子在D:\Apache Tomcat 4.0\webapps\examples\jsp\sessions中。我只是把按钮的数值改为中文就出错了各位请看:
请问怎样解决,我用了几天的时间也解决不了。万万分感谢!!
*************************************************************************
carts.html
*************************************************************************
<html>
<head>
<title>carts</title>
</head>
<body bgcolor="white">
<font size = 5 color="#CC0000">
<form type=POST action=carts.jsp>
<BR>
Please enter item to add or remove:
<br>
Add Item:
<SELECT NAME="item">
<OPTION>Beavis & Butt-head Video collection
<OPTION>X-files movie
<OPTION>Twin peaks tapes
<OPTION>NIN CD
<OPTION>JSP Book
<OPTION>Concert tickets
<OPTION>Love life
<OPTION>Switch blade
<OPTION>Rex, Rugs & Rock n' Roll
</SELECT>
<br> <br>
<INPUT TYPE=submit name="submit" value="增加">
<INPUT TYPE=submit name="submit" value="移出">
</form>
*************************************************************************
carts.jsp
*************************************************************************
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%>
<html>
<jsp:useBean id="cart" scope="session" class="sessions.DummyCart" />
<jsp:setProperty name="cart" property="*" />
<!--**问题可能出在这里,因为submit的值为“增加”或“移出”**-->
<%
String submit =new String (request.getParameter("submit").getBytes("8859_1"));
<%--上面的语句有用吗?submit的值为"增加"或"移出"而不是乱码--%>
cart.processRequest(request);
%>
<!--以下的语句为输出格式不看也罢,请看DummyCart.java里的"processRequest"函数为问题所在-->
<br> You have the following items in your cart:
<%
String[] items = cart.getItems();
for (int i=0; i<items.length; i++) {
%>
<li> <%= items[i] %>
<%
}
%>
<hr>
<%@ include file ="/sessions/carts.html" %>
</html>
*************************************************************************
DummyCart.java
*************************************************************************
package sessions;
import javax.servlet.http.*;
import java.util.Vector;
import java.util.Enumeration;
public class DummyCart {
Vector v = new Vector();
String submit = null;
String item = null;
private void addItem(String name) {
v.addElement(name);
}
private void removeItem(String name) {
v.removeElement(name);
}
public void setItem(String name) {
item = name;
}
public void setSubmit(String s) {
submit = s;
}
public String[] getItems() {
String[] s = new String[v.size()];
v.copyInto(s);
return s;
}
//问题应该出在 "submit.equals("增加")"
public void processRequest(HttpServletRequest request) {
if (submit == null)
addItem(item);
if (submit.equals("增加"))
addItem(item);
else if (submit.equals("移出"))
removeItem(item);
reset();
}
private void reset() {
submit = null;
item = null;
}