一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

JBuilder2005实战JSP之登录页面(2)

时间:2008-01-12 编辑:简简单单 来源:一聚教程网

将用户列表改为动态
  目前创建的login.jsp有一个缺陷,假设在数据库后台T_USER表中添加其他的用户时,因为用户名下拉框是静态的代码,新创建的用户并不会出现在页面中,因此有必要将用户名列表改为动态的代码,用数据库表T_USER的记录动态产生下拉框的数据。
  我们通过UserList.ava类来完成这个工作,在工程中创建UserList.java,其代码如下:
  代码清单 5 UserList.java
1. package bookstore;
2. import java.sql.*;
3.
4. public class UserList
5. {
6.  //获取HTML下拉框的用户列表代码
7.  public static String getUserListHTML() {
8.   Connection conn = null;
9.   StringBuffer sBuf = new StringBuffer();
10.  try {
11.   conn = DBConnection.getConnection();
12.   PreparedStatement pStat = conn.prepareStatement(
13.     "select USER_ID,USER_NAME from T_USER");
14.   ResultSet rs = pStat.executeQuery();
15.   while (rs.next()) {
16.    sBuf.append("<option value='" + rs.getString("USER_ID") + "'>" +
17.    rs.getString("USER_NAME") + "</option> ");
18.   }
19.   return sBuf.toString();
20.  } catch (SQLException ex) {
21.   ex.printStackTrace();
22.   return "";
23.  } finally {
24.   try {
25.    if (conn != null) {
26.     conn.close();
27.     conn = null;
28.    }
29.   } catch (SQLException ex1) {
30.  }
31. }
32. }
33. }
  UserList.java只提供了一个静态的getUserListHTML()方法,这个方法从后台数据库的T_USER表中获取用户记录,并生成HTML的select组件的选项代码,如第16~17行所示。
  在创建这个类后,我们引用该类调整login.jsp的代码,首先在page指令标签中通过import属性引用UserList类,然后将select选项中的内容调整为getUserListHTML()方法返回的值,如下图所示:
图 7 通过CodeInsight编写代码
  通过表达式标签替换原静态的HTML代码,值得提起的是,在JSP中也可以象在编写一般的Java类中一样使用CodeInsight输入代码。调整后的login.jsp的代码如下所示,用粗体表示:

热门栏目