急求让我郁闷N天的问题解决方法,关于用jsp显示详细信息时遇到的问题,望各位不吝赐教,小妹不胜感激!
我用第一个页面列表显示数据库的表(商品表),然后点击小图片可以链到下一个页面,显示该商品的详细信息。我在第一个页面的程序里用了这样一段代码连接(不知道是不是有问题): <th scope= "row "> <div align= "center "> <a target= "product " href= "wares_detail.jsp?productid= <%=list.WaresId%> "> <img src= "D:\Tomcat\Tomcat 5.0\webapps\ROOT\jing\picture\jsp\ <%=list.SmallImg%> "> </a> </div> </th>
其中list是 <jsp:useBean id= "list " scope= "session " class= "com.WaresList "/>
事先有个WaresList.java
第二个页面显示的时候不知道是什么问题,while(rs.next())以后的内容都不显示,
好像rs取到的是空值。这是为什么?我郁闷了好几天了还是不知道哪有问题。第二个页面的代码是这样的:
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* "
errorPage= " " %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN " "http://www.w3.org/TR/html4/loose.dtd ">
<jsp:useBean id= "databean " scope= "session " class= "com.conndb "/>
<jsp:useBean id= "list " class= "com.WaresList " scope= "session " />
<html>
<head>
<title> 商品详细信息 </title>
<style type= "text/css ">
</style>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "> </head>
<script language= "javascript ">
</script>
<body background= "D:\Tomcat\Tomcat 5.0\webapps\ROOT\jing\picture\back2.bmp ">
<div align= "center " class= "b9b "> 商品详细信息
<p>
<form action= "shopcart.jsp " method= "post " name= "form1 ">
<%
String Id=request.getParameter( "Id ");
String sql= "SELECT * FROM wares WHERE Id= "+Id;
ResultSet rs;
rs=databean.executeQuery(sql); //执行sql语句,使用了javabean conndb中的executeQuery
while(rs.next())
{
%>
------解决方案--------------------你的第一个页面是用productid来传递参数的
href= "wares_detail.jsp?productid= <%=list.WaresId%> ">
在第二个页面中:
String Id=request.getParameter( "Id ");
应改为:
String Id=request.getParameter( "productid ");
还有,数据库中一般ID号都是int型,(你看你的数据库)
加上这句把他转型
int Id2=Integer.parseInt(Id);
------解决方案--------------------我在第一个页面无论点哪个条目出来的都是productid=0的详细信息,这又是为什么呢?
当然啦,你只有一个list的实例,这个List还使用的是默认值,其id肯定是0