圖3 透過精靈建立login.jsp |
圖4 精靈建立的JSP文件 |
圖5 設定JSP標籤屬性編輯器 |
1. <%@page contentType="text/html; charset=GBK" %> 2. <html> 3. <head> 4. <title>login</title> 5. </head> 6. <body bgcolor="#ffffff"> 7. <表單name="表單1" method="post" action="switch.jsp"> 8. 使用者名稱: <select name="userId"> 9. <option value="" selected>--登入使用者--</option> 10. <option value="100000">薑子牙</option> 11. <option value="100001">鮑叔牙</option> 12. <option value="100002">豎牙</option> 13. </select> 14. 密碼:<input name="password" type="password"> 15. <input type="submit" name="Submit" value="登入"> 16. </表單> 17. </body> 18. </html> |
圖6 login.jsp輸入頁面 |
實戰經驗: JSP檔案程式碼包含靜態和動態兩部分,即一部分是HTML程式碼,而另一部分為JSP標籤和Scriptlet程式碼。 JSP一般是動態邏輯的網頁,JBuilder對JSP標籤及Scriptlet這些動態程式碼部分支援得非常好,你可以使用CodeInsight和TagInsight等工具快速且正確地完成編碼,同時還可以對JSP進行編譯調試。在JSP靜態HTML程式碼編寫及視覺化設計方面,JBuilder卻顯得力不從心,Dreamweaver在靜態程式碼和視覺化設計方面明顯優於JBuilder。 |
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>n"); 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. } |
圖7 透過CodeInsight編寫程式碼 |
1. <%@page contentType="text/html; charset=GBK" import="bookstore.UserList" %> 2. <html> 3. <head> 4. <title>login</title> 5. </head> 6. <body bgcolor="#ffffff"> 7. <表單name="表單1" method="post" action="switch.jsp">使用者名稱: 8. <select name="userId"> 9. <option value="" selected>--登入使用者--</option> 10. <%=UserList.getUserListHTML()%> 11. </select> 12. 密碼:<input name="password" type="password"> 13. <input type="submit" name="Submit" value="登入"> 14. </表單> 15. </body> 16. </html> |
圖8 在JBuilder中運行login.jsp |
圖9 用IE存取JBuilder中執行的login.jsp |
提示: 由於編譯JSP文件需要先將其轉換為Servlet文件,然後再編譯這個中間Servlet文件,發生錯誤後轉定向到JSP文件中,所以編譯一個JSP文件是比較耗時的,往往比編譯一個Java文件要花好幾倍的時間。在預設的情況下,編譯一個工程時,會編譯整個工程中所有的JSP,需要消耗大量的時間。所以最好取消在編譯工程連帶編譯JSP檔案的設定:透過Project->Project Properties...->Build-> 在Build設定頁中取消Check JSPs for errors at build-time選項。在確實需要的時候再勾選這個選項,並在編譯後及時取消這個選項。透過這樣的設定將可以為你的開發贏得不少寶貴的時間。 |