<%@ page language="java" contentType="text/html; charset=gbk" pageEncoding="gbk"%><%@ page import="java.sql.*"%><%!String str = null; private void tree(Connection conn, int id, int level) { Statement stmt = null; ResultSet rs = null; String preStr = ""; for (int i = 0; i < level; i++) { preStr += "----"; } try { stmt = conn.createStatement(); String sql = "select * from article where pid = " + id; rs = stmt.executeQuery(sql); while (rs.next()) { str += "<tr><td>" + rs.getInt("id") + "</td><td>" + preStr + rs.getString("title") + "</td></tr>"; if (rs.getInt("isleaf") != 0) { tree(conn, rs.getInt("id"), level + 1); } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } } catch (SQLException e) { e.printStackTrace(); } } }%><% Class.forName("com.mysql.jdbc.Driver"); //System.out.println("1"); String url = "jdbc:mysql://localhost/test?user=root&password=root"; Connection conn = DriverManager.getConnection(url); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select * from article where pid = 0"); //System.out.println("2"); while (rs.next()) { str += "<tr><td>" + rs.getInt("id") + "</td><td>" + rs.getString("title") + "</td></tr>"; System.out.println(str); if (rs.getInt("isleaf") != 0) { tree(conn, rs.getInt("id"), 1); } } rs.close(); stmt.close(); conn.close();%><!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=gbk"><title>Insert title here</title></head><body> <table border="1"><%=str%></table></body></html>问题: String str = null; 如果我这样使用 浏览器中显示结果为 在表格上方会有一个null 但是我用String str = “”就不会出现这种问题,这是为什么呢?
添加回答
举报
0/150
提交
取消