以下例子在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;
}
...全文
21 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
p559 2003-04-07
是中文啊,在carts.jsp中显示。
但在DummyCart.java中就不清楚了。
回复
p559 2003-04-06
To bjzhanghao:是汉字,请问在DummyCart.java中如何打印出submit?
回复
bjzhanghao 2003-04-06
System.out.println(submit),然后看控制台里的输出
回复
AllError 2003-04-04
request.getParameter("submit")需判断是否为null
回复
bjzhanghao 2003-04-04
在processRequest()里先把submit打出来看一下,可能变成乱码了
试试new String(submit.getBytes(),"ISO8859_1").equals("增加")
回复
bjzhanghao 2003-04-04
submit值打出来结果是什么,汉字还是"????"
回复
p559 2003-04-04
To bjzhanghao: 不行啊!有错误。
To AllError:不是空的。
To lbdl(dreamweaver:不用中文当然可以。就是怎样才能用中文?
回复
lbdl 2003-04-04
建议button的value不要使用中文.........
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-04-04 12:02
社区公告
暂无公告