在JSP页面中获取Vector对象的大小,总是报异常(eg3-18-show.jsp页面的for(int i=0;i<v.size();i++)这句)

eg3-18-input.jsp<%@pagecontentType="text/html;charset=gb2312"%><html><body><formactio... eg3-18-input.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<html><body>
<form action="eg3-18-pane.jsp" method=post name="form">
请输入名字:<input type="text" name="peopleName">
<br>请输入标题:<input type="text" name="title">
<br>请输入留言信息:<br><textArea name="messages" rows="10" cols="60" warp="physical"></textArea>
<br><input type="submit" name="submit" value="提交留言">
</form>
<form action="eg3-18-show.jsp" method=post name="form">
<br><input type="submit" name="look" value="查看留言板">
</form>
</body></html>

eg3-18-pane.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<html><body>
<%! Vector v=new Vector();
int i=0;
ServletContext application;
synchronized void leaveWord(String s){
application=getServletContext();
i++;
v.add("No."+i+","+s);
application.setAttribute("Mess",v);
}
%>
<% String name=request.getParameter("peopleName");
String title=request.getParameter("title");
String messages=request.getParameter("messages");
if(name==null)
name="guess"+(int)(Math.random()*10000);
if(title==null)
title="无标题";
if(messages==null)
messages="无信息";
String s=name+"#"+title+"#"+messages;
leaveWord(s);
out.println("您的信息已提交");
%>
<a href="eg3-18-input.jsp">返回留言界面</a>
</body></html>

eg3-18-show.jsp

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*"%>
<html><body>
<%! public String handleStr(String s){
try{byte []b=s.getBytes("iso-8859-1");
s=new String(b);
}
catch(Exception e){}
return s;
}
%>
<% Vector v=(Vector)application.getAttribute("mess");
int n=v.size();
for(int i=0;i<n;i++){
String message=(String)v.elementAt(i);
String []a=message.split("#");
out.println("留言人:"+handleStr(a[0])+",");
out.println("标题:"+handleStr(a[i])+"<br>");
out.println("留言内容:<br>"+handleStr(a[2]));
out.println("<br>----------------<br>");
}
%>
</body></html>
展开
 我来答
百度网友8ec00be
2017-07-25 · TA获得超过336个赞
知道小有建树答主
回答量:408
采纳率:71%
帮助的人:184万
展开全部
因为你在之前已经定义了一个int i了。。。虽说是jsp文件,但是本质还是java文件,你在前面已经定义了int i =0 ;之后再在for 里面定义一个int i编译器会懵逼的~
不能使用相同的变量名啊~
更多追问追答
追问
这是在三个页面了,相同的变量名应该不影响的,,原来的代码是for(int i=0;i<v.size();i++),这一句就报异常,,我改成了int n=v.size(); for(int i=0;i<n;i++)异常就在int n那一句了
追答
什么异常贴来看下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式