其实我要实现的功能很简单,就是像这个网站 http://www.nasa168.com 左边的商品分类菜 单,程序分别检索大类与小类的表,并显示出来。可是程我的序只显示了大类的信息,小类的确 显示不出来,请高手帮看看是怎么回事,是我的逻辑错误,还是其他原因,谢谢先!!! 源码如下:
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* " errorPage= " " %>
<%@ page import= "java.util.* " %>
<%@ page import= "java.sql.* " %>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance(); String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=eshopDB "; String user= "sa ";
String password= "dba ";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt =conn.createStatement(); String sql= "select * from ProductClass "; ResultSet rs = stmt.executeQuery(sql);
String classID = null ;
%>
<table>
<!----------一级分类------------>
<% while(rs.next()) {
classID= rs.getString( "ClassID ");
%>
<tr>
<td width= "120 " colspan= "2 ">
<a href= "hello.jsp?ID= <%=rs.getString( "ClassID ")%> "> <%=rs.getString( "ClassName ")%> </a>
<%}%>
</td>
</tr> <!----------二级分类------------>
<%
String m_sql= "Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID= ' "+classID+ " ' ";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<% while(m_rs.next()) { %>
<tr>
<td width= "70 ">
<a href= "hello.jsp?ID= <%=m_rs.getString( "CategoryID ")%> "> <%=rs.getString( "CategoryName ")%> </a>
<%if(m_rs.next()){%>
</td>
<td width= "70 "> <a href= "hello.jsp?ID= <%=m_rs.getString( "CategoryID ")%> "> <%=m_rs.getString( "CategoryName ")%> </a>
<%}%>
</td>
</tr>
<%}%>
<!----------------------------------------------------------------->
</table>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* " errorPage= " " %>
<%@ page import= "java.util.* " %>
<%@ page import= "java.sql.* " %>
<%
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver ").newInstance(); String url= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=eshopDB "; String user= "sa ";
String password= "dba ";
Connection conn=DriverManager.getConnection(url,user,password);
Statement stmt =conn.createStatement(); String sql= "select * from ProductClass "; ResultSet rs = stmt.executeQuery(sql);
String classID = null ;
%>
<table>
<!----------一级分类------------>
<% while(rs.next()) {
classID= rs.getString( "ClassID ");
%>
<tr>
<td width= "120 " colspan= "2 ">
<a href= "hello.jsp?ID= <%=rs.getString( "ClassID ")%> "> <%=rs.getString( "ClassName ")%> </a>
<%}%>
</td>
</tr> <!----------二级分类------------>
<%
String m_sql= "Select CategoryID,CategoryName,ClassID from ProductCategory where ClassID= ' "+classID+ " ' ";
ResultSet m_rs = stmt.executeQuery(m_sql);
%>
<% while(m_rs.next()) { %>
<tr>
<td width= "70 ">
<a href= "hello.jsp?ID= <%=m_rs.getString( "CategoryID ")%> "> <%=rs.getString( "CategoryName ")%> </a>
<%if(m_rs.next()){%>
</td>
<td width= "70 "> <a href= "hello.jsp?ID= <%=m_rs.getString( "CategoryID ")%> "> <%=m_rs.getString( "CategoryName ")%> </a>
<%}%>
</td>
</tr>
<%}%>
<!----------------------------------------------------------------->
</table>
解决方案 »
- file:///与http://问题,等待解决!!
- JFREECHART 时间轴的柱状图显示问题。
- java 错误java.io.IOException: missing CR
- WebService实现Java与_Net互联
- 如何用JAVA 解决多系统单点登录问题
- jspSmartUpload有没有流接口?
- 小弟刚学 JAVA ,有几个小问题想散散分
- 为什么会出现 attribute has no value
- 用eclipse连接数据库在jsp上查询学生成绩和修改
- springboot整合redis,报错连接不上192.168.0.61:6379
- 项目原型
- java web打印文件的问题,谁有办法?望高手解答
LZ的代码是比较原始的了,看起来很费力。好像用了二重循环的。看得头晕,属于典型的JSP页面代码混杂反模式实例。
确定可能有点问题的是上述代码while中用next方法步进了记录指针,然后循环体中if又用next步进了记录指针,应该会造成跳行。
所以,你的二级菜单,只能显示最后一个一级菜单对应的二级菜单。不是语言的错误,是你在使用上的错误。