程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JBuilder2005實戰JSP之登錄頁面(2)

JBuilder2005實戰JSP之登錄頁面(2)

編輯:關於JSP

將用戶列表改為動態
  目前創建的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的代碼如下所示,用粗體表示:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved