<!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=ISO-8859-1"> <title>Insert title here</title> </head> <body> </body> <form method="post"> <table border="2"> <tr> <td>ID</td> <td>NAME</td> <td>SKILL</td> <td>ACTION</td> </tr> <% try { Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost/test"; String username="root"; String password="root"; String query="select * from jsp1"; Connection conn=DriverManager.getConnection(url,username,password); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(query); while(rs.next()) { %> <tr><td><%rs.getInt("ID"); %></td></tr> <tr><td><%rs.getString("NAME"); %></td></tr> <tr><td><%rs.getString("SKILL"); %></td></tr> <% } %> </table> <% rs.close(); stmt.close(); conn.close(); } catch(Exception e) { e.printStackTrace(); } %> </form> </html>
这里的问题很简单。如果要在JSP中显示值,则必须使用<%=%>标记而不是<%%>,这是已解决的代码:
<tr> <td><%=rs.getInt("ID") %></td> <td><%=rs.getString("NAME") %></td> <td><%=rs.getString("SKILL") %></td> </tr>