此两处错误怎么改?(错误一再该行指出)

q409194872 2008-04-24 02:40:13
源代码:
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.Vector" %>
<%! String strPage=null;
String showPage=null;
String ipage=null;
ResultSet rs=null;
%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>欢迎光临网上通讯录</title>
<link rel=stylesheet type=text/css href="./lib/bbs.css">
<jsp:useBean scope="page" id="Friend" class="com.zk.Friend"/>
<jsp:useBean scope="page" id="User" class="com.zk.User"/>
<jsp:useBean scope="page" id="SplitPage" class="com.zk.SplitPage"/>
</head>
<body bgcolor="#F5F5F5">
<div align="center">
<p>我的全部好友 </p>
<% String sFriendID=request.getParameter("FriendID");
long lFriendID=Long.parseLong("sFriendID");
Friend.setFriendID(lFriendID);
Friend.init();
ResultSet rs=Friend.show_Friend();
SplitPage.initialize(rs,10);
%>
<% String strPage;
int showPage;
strPage=request.getParemeter("showPage");//此错了,改成(showPage)也是错,若写成page也是错
if (strPage==null)
showPage=1;
else
{try
{showPage=Integer.parseInt(strPage);
}
catch(NumberFormatException e)
{showPage=1;
}
if(showPage<1)
showPage=1;
if(showPage>SplitPage.getPageCount())
showPage=SplitPage.getPageCount();
}
Vector vData=SplitPage.getPage(showPage);//此处错了,要强制转换吗?,如果要怎么转
for(int i=0;i<vData.size();i++)
{String[] sData=(String[])vData.get(i);
long lUserID=Long.parseLong(vData[2]);
String sUserID=request.getParameter("UserID");
if(User.init())
{while (rs.next())
{rs.getString("姓名");
rs.getString("性别");
rs.getString("电话");
rs.getString("Email");
rs.getString("家庭住址");
%>
<input type="button" name="button" value="添加为好友" onClick="javascript:window.location='add_friend_save.jsp'">
<%
}
}
}
%>
</div>
</body>
</html>
错误提示:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
The method getParemeter(String) is undefined for the type HttpServletRequest

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
The type of the expression must be an array type but it resolved to Vector


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
The method getParemeter(String) is undefined for the type HttpServletRequest

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
The type of the expression must be an array type but it resolved to Vector


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.17
...全文
155 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
q409194872 2008-04-24
  • 打赏
  • 举报
回复
照七楼的该了:错误更新了:
org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
Type mismatch: cannot convert from Vector to String[]

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
Cannot invoke size() on the array type String[]

An error occurred at line: 30 in the jsp file: /friend_list.jsp
Generated servlet error:
Cannot invoke get(int) on the array type String[]


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
tubage408 2008-04-24
  • 打赏
  • 举报
回复
The type of the expression must be an array type but it resolved to Vector,SplitPage.getPage(showPage);的返回值类型是什么呀,是Vector类型的吗?
wdbjsh 2008-04-24
  • 打赏
  • 举报
回复
String[] vData=SplitPage.getPage(showPage);
q409194872 2008-04-24
  • 打赏
  • 举报
回复
SplitPage.java 为:
package com.zk;
import java.sql.*;
import java.util.*;
public class SplitPage
{private ResultSet rs=null;
private ResultSetMetaData rsmd=null;
private int rowCount;
private int PageCount;
private int pageSize;
public void initialize(ResultSet rs,int pageSize)
{this.pageSize=pageSize;
try
{this.rs=rs;
this.rsmd=this.rs.getMetaData();
if(this.rs!=null)
{this.rs.last();
this.rowCount=this.rs.getRow();
this.rs.first();
this.PageCount=(this.rowCount-1)/this.pageSize+1;
}
else
this.rowCount=0;
}
catch(SQLException e)
{System.out.println(e.toString());
}
}
public Vector getPage(int ipage)
{Vector vData=new Vector();
int n=ipage;
int m=0;
m=(n-1)*this.pageSize+1;
try
{if(this.rs!=null)
{if(n!=1)
{this.rs.absolute(m);
}
for(int i=0;i<this.pageSize;i++)
{String[] sData=new String[10];
for(int j=0;j<this.rsmd.getColumnCount();j++)
{sData[j]=this.rs.getString(j+1);
}
if(sData==null)
{break;
}
vData.addElement(sData);
this.rs.next();
}
}
}
catch(SQLException e)
{System.out.println(e.toString());
}
return vData;
}
public int getPageCount()
{return this.PageCount;
}
public int getrowCount()
{return this.rowCount;
}
public void setPageCount(int PageCount)
{ this.PageCount=PageCount;
}
public void setrowCount(int getrowCount)
{ this.rowCount=rowCount;
}
public void setpageSize(int pageSize)
{ this.pageSize=pageSize;
}
public int pageSize()
{return pageSize;
}
}
q409194872 2008-04-24
  • 打赏
  • 举报
回复
第一处我回了,大错字了e->a
第二谁会
wdbjsh 2008-04-24
  • 打赏
  • 举报
回复
第一个错误对应于一楼的解释
第二个错误很明显,split方法将生成一个字符串数组而不是Vector
wdbjsh 2008-04-24
  • 打赏
  • 举报
回复
org.apache.jasper.JasperException: Unable to compile class for JSP
无法编译jsp
An error occurred at line: 30 in the jsp file: /friend_list.jsp
在/friend_list.jsp 的第30行发生错误

Generated servlet error:
生成servlet错误

The method getParemeter(String) is undefined for the type HttpServletRequest
getParemeter(String)方法没有被HttpServletRequest 定义

An error occurred at line: 30 in the jsp file: /friend_list.jsp
在/friend_list.jsp 的第30行发生错误

Generated servlet error:
生成servlet错误
The type of the expression must be an array type but it resolved to Vector
表达式的类型必须是数组,但现在是一个矢量
believefym 2008-04-24
  • 打赏
  • 举报
回复
[Quote=]
Vector vData=SplitPage.getPage(showPage);//此处错了,要强制转换吗?,如果要怎么转
[/Quote]

SplitPage这个类怎么定义的?
是错误还是警告?
believefym 2008-04-24
  • 打赏
  • 举报
回复
getParemeter

->
getParameter

拼错了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧