jsp页面查询 并跳转页面修改碰到无法跳转的问题

baby0305 2009-03-05 11:21:20
我是一个初学者
目前在做一个jsp页面查询 修改的Demo碰到了无法跳转的问题希望大家可以帮忙解决下
------------------------------------------------------------------------
首先是主页面 updateIndex.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*"%>
<%
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>用户信息</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Connection conn = null;
Statement st = null;
ResultSet rs = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase";
String user = "sa";
String password = "fangfang";
String sql = "select * from account";
conn = DriverManager.getConnection(url,user,password);
st = conn.createStatement();
rs = st.executeQuery(sql);
%>
<table border="1" cellpadding="0" cellspacing="0" align="center">
<tr>
<td colspan="6" align="center">account表信息</td>
</tr>
<tr>
<td>账号</td>
<td>户名</td>
<td>余额</td>
<td>注册时间</td>
<td>更新</td>
</tr>
<%
while(rs.next()){
long account_id = rs.getLong("account_id");
%>
<tr>
<td><%=account_id%></td>
<td><%=rs.getString("account_name") %></td>
<td><%=rs.getFloat("account_money") %></td>
<td><%=rs.getDate("add_time") %></td>
<td><a href="updateIndexOne.jsp?account_id=<%="account_id" %>">更新</a></td>
</tr>
<%
}
%>
</table>
</body>
</html>

------------------------------------------------------------------------
这个是跳转的页面updateIndexOne.jsp
<%@ page language="java" import="java.util.*" contentType="text/html"
pageEncoding="gb2312"%>
<%@page import="java.sql.*"%>

<%
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>更新页面</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<% //------接收请求参数------
String accountStr=request.getParameter("account_id");
long account_id=0l;
try{
account_id=Long.parseLong(accountStr);
}catch(Exception e){
response.sendRedirect("updateAccount1.jsp");
}
%>

<%
// Connection conn = null;
//Statement st = null;
//ResultSet rs = null;
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase";
String user = "sa";
String password = "fangfang";
String strsql = "select * from account where account_id ="+account_id;
Connection conn = DriverManager.getConnection(url,user,password);
Statement sql = conn.createStatement();
ResultSet rs = sql.executeQuery(strsql);



%>
<form action="updateIndexTwo.jsp" method="post">
<input type="hidden" name="account_id" value="<%=account_id%>">
<table border="1" cellpadding="0" cellspacing="0" align="center">
<tr>
<td colspan="2" align="center">
更新信息
</td>
</tr>
<%while(rs.next()){%>
<tr>
<td>账户号</td>
<td><%=account_id%></td>
</tr>
<tr>
<td>账户名</td>
<td><input type="text" name="account_name" value="<%=rs.getString("account_name")%>"></td>
</tr>
<tr>
<td>余额</td>
<td><input type="text" name="account_money" value="<%=rs.getFloat("account_money")%>"></td>
</tr>
<% }%>
<tr>
<td colspan="2" align="center">
<input type="submit" value="提交">
</td>
</tr>
</table>
</form>
</body>
</html>

------------------------------------------------------------------------
现在的问题就是我在updateIndex.jsp页面上查询出数据以后,点击数据后面的更新超链接时
却无法跳转到updateIndexOne.jsp;
报出了如下的异常
------------------------------------------------------------------------

2009-3-5 22:59:26 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NumberFormatException: For input string: "account_id"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:403)
at java.lang.Long.parseLong(Long.java:461)
at org.apache.jsp.updateIndexOne_jsp._jspService(updateIndexOne_jsp.java:94)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)

希望有高手帮忙指教下 谢谢
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baby0305 2009-03-06
  • 打赏
  • 举报
回复
还是不能跳转。。。
我在点击更新以后,还是回到了updateIndex.jsp页面
高手帮忙改改好吗?
qjldx 2009-03-06
  • 打赏
  • 举报
回复
看看accout_id 中的值的类型和现在的类型是不是匹配
qjldx 2009-03-06
  • 打赏
  • 举报
回复
看看accout_id 中的值的类型和现在的类型是不是匹配
什么都不能 2009-03-05
  • 打赏
  • 举报
回复
account_id 是什么类型的?最好是和数据库中的类型相对应
niuxinlong 2009-03-05
  • 打赏
  • 举报
回复
java.lang.NumberFormatException: For input string: "account_id"
数据转换异常,页面上应该拿到的是account_id 对应的值,而实际拿到的是字符串"account_id"

81,092

社区成员

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

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