<%
try
{
ResultSet rs=dbc.executeQuery("select dashangpin from dbo.dashangpin");//执行Sql语句
rs.last();//将指针移动到最后一个
int r=rs.getRow();//获得数据库的行数
rs.absolute(1);//数据库的指针回滚到索引为1的地方;
//rs.beforeFirst();
Vector vt=new Vector();//构造一个容器来存放数据
for(int i=0;i<r;i++)
{
String gs=rs.getString("dashangpin");
vt.addElement(gs);//将数据加入到容器的末尾,然后加1;
//out.print(vt.elementAt(i));
%>
<div class="style1">*<%=rs.getString("dashangpin")%></div><br/>
<%
if(!rs.next()) break;
}
session.setAttribute("vtor",vt);
}
catch(Exception e)
{
out.println(e.getMessage());
}
try
{
Vector vtor1=new Vector();
vtor1=(Vector)session.getAttribute("vtor");//传递一个对象
String st=(String)vtor1.elementAt(0).toString();
//out.println(vtor1.size());
//out.print(vtor1.elementAt(0));
}
catch(ArrayIndexOutOfBoundsException e)
{
out.println(e.getMessage());
}
ResultSet rs1=dbc.executeQuery("select * from dbo.xiaoshangpin where dashangpin='"+st2+"'");
while(rs1.next())
{
%>
<div class="style1">*<%=rs1.getString("xiaoshangpin")%></div><br/>
<%}%>
编译一下:出现的问题如下:
C:\Tomcat 4.1\work\Standalone\localhost\srt\prictise_jsp.java:116: cannot resolve symbol
symbol : variable st2
location: class org.apache.jsp.prictise_jsp
ResultSet rs1=dbc.executeQuery("select * from dbo.xiaoshangpin where dashangpin="+st2);
try
{
ResultSet rs=dbc.executeQuery("select dashangpin from dbo.dashangpin");//执行Sql语句
rs.last();//将指针移动到最后一个
int r=rs.getRow();//获得数据库的行数
rs.absolute(1);//数据库的指针回滚到索引为1的地方;
//rs.beforeFirst();
Vector vt=new Vector();//构造一个容器来存放数据
for(int i=0;i<r;i++)
{
String gs=rs.getString("dashangpin");
vt.addElement(gs);//将数据加入到容器的末尾,然后加1;
//out.print(vt.elementAt(i));
%>
<div class="style1">*<%=rs.getString("dashangpin")%></div><br/>
<%
if(!rs.next()) break;
}
session.setAttribute("vtor",vt);
}
catch(Exception e)
{
out.println(e.getMessage());
}
try
{
Vector vtor1=new Vector();
vtor1=(Vector)session.getAttribute("vtor");//传递一个对象
String st=(String)vtor1.elementAt(0).toString();
//out.println(vtor1.size());
//out.print(vtor1.elementAt(0));
}
catch(ArrayIndexOutOfBoundsException e)
{
out.println(e.getMessage());
}
ResultSet rs1=dbc.executeQuery("select * from dbo.xiaoshangpin where dashangpin='"+st2+"'");
while(rs1.next())
{
%>
<div class="style1">*<%=rs1.getString("xiaoshangpin")%></div><br/>
<%}%>
编译一下:出现的问题如下:
C:\Tomcat 4.1\work\Standalone\localhost\srt\prictise_jsp.java:116: cannot resolve symbol
symbol : variable st2
location: class org.apache.jsp.prictise_jsp
ResultSet rs1=dbc.executeQuery("select * from dbo.xiaoshangpin where dashangpin="+st2);
解决方案 »
- 怎么将动态显示数据的jsp页面生成html文件
- 求救 struts2跟tiles的问题
- mybatis+spring怎么弄呢,哪位大侠指点下下
- 为什么每次新建一个web project后,然后再添加struts 2.1 capabilities,启动tomcat6 没有错,一经部署,开始报下面的错误呢?
- 为什么int 、float的都是四个字节,取值范围相差那么多
- JBUILDER开发环境.JSP文件中要用到Servlet文件中的变量,如何引用
- XP上安装MS sql server2000的问题?急!
- Tomcat5完全中文手册即攻略
- 各位老大,小弟刚刚下载了javamail1.3,但不知如何使用,望众大侠赐教(在线等)
- 新版雷霆论坛(LightningBoard)开始测试了!各位过去看看吧
- jsp里面显示pdf并隐藏路径
- 关于考JAVA认证,有这方面经验的进来领分啊
ResultSet rs=dbc.executeQuery("select dashangpin from dbo.dashangpin");//执行Sql语句/*使用结果集的循环去得数据更合理而且简单,为何使用for那?
Vector v = new Vector();
while(rs.next()){
String str = rs.getString("dashangpin");
v.addElement(str);
out.println("<div class='style1'>*"+str+"</div>");
///注意:结果集操作是很耗资源的,同样的数据一次取出来存到临时变量里供后面使用,不要用一次就取一次。
}
session.setAttribute("vtor",v);
*/
rs.last();//将指针移动到最后一个
int r=rs.getRow();//获得数据库的行数
rs.absolute(1);//数据库的指针回滚到索引为1的地方;
//rs.beforeFirst();
Vector vt=new Vector();//构造一个容器来存放数据
for(int i=0;i<r;i++)
{
String gs=rs.getString("dashangpin");
vt.addElement(gs);//将数据加入到容器的末尾,然后加1;
//out.print(vt.elementAt(i));
%>
<div class="style1">*<%=rs.getString("dashangpin")%></div><br/>
<%
if(!rs.next()) break;
}
session.setAttribute("vtor",vt);
可是我把st2改过之后还是不行
然而把同样的语句放在别的地方却可以了
真不知道怎么办,以下是完整的代码:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*, java.util.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
页面描述:生成一个分类树;
参数:
返回值:一个动态的分类树;
-->
<html>
<head>
<LINK href="css/css.css" type=text/css rel=stylesheet>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>练习做一个分类树</title>
</head>
<body>
<jsp:useBean id="dbc" scope="session" class="db.dbcon" /><!--用javaBean连接数据库-->
<jsp:include flush="true" page="zhongwenchuli.txt"/> <%
try
{
ResultSet rs=dbc.executeQuery("select dashangpin from dbo.dashangpin");//执行Sql语句
rs.last();//将指针移动到最后一个
int r=rs.getRow();//获得数据库的行数
rs.absolute(1);//数据库的指针回滚到索引为1的地方;
//rs.beforeFirst();
Vector vt=new Vector();//构造一个容器来存放数据
for(int i=0;i<r;i++)
{
String gs=rs.getString("dashangpin");
vt.addElement(gs);//将数据加入到容器的末尾,然后加1;
//out.print(vt.elementAt(i));
%>
<div class="style1">*<%=rs.getString("dashangpin")%></div><br/>
<%
if(!rs.next()) break;
}
session.setAttribute("vtor",vt);
}
catch(Exception e)
{
out.println(e.getMessage());
}
try
{
Vector vtor1=new Vector();
vtor1=(Vector)session.getAttribute("vtor");//传递一个对象
String st=(String)vtor1.elementAt(0).toString();
// String st2="select * from dbo.xiaoshangpin where dashangpin="+st;
//out.println(st2);
//out.println(vtor1.size());
//out.print(vtor1.elementAt(0));
}
catch(ArrayIndexOutOfBoundsException e)
{
out.println(e.getMessage());
}
ResultSet rs1=dbc.executeQuery("select * from dbo.xiaoshangpin where dashangpin='"+st+"'");
while(rs1.next())
{
%>
<div class="style1">*<%=rs1.getString("xiaoshangpin")%></div><br/>
<%}%>
</body>
</html>
而你在try{}catch{}后使用了st,所以应该把st的定义放到try块之外。