Javaweb專案-下拉列表顯示後臺資料庫的資料
阿新 • • 發佈:2022-04-10
下面將演示前端下拉列表顯示後臺資料庫中class表的說有班級的名稱
環境:
Tomcat-8.5.40
mysql-8.0.13
eclipse-4.9.0
一、從mysql中獲取資料
①編寫Class實體類
略。。。
②編寫ClassDao用於操作Class表
1 public class ClassDao { 2 public List<Class> getAllClassInfo(){ 3 /* 4 * 儲存物件資料的list 5 */ 6 List<Class> classlist = new ArrayList<Class>(); 7 Class cla = new Class(); // 物件模型 8 9 /* 10 * 開始查詢資料庫 11 */ 12 Connection con = null; // 用於資料庫的連線 13 PreparedStatement psta = null; // 用於操作資料庫 14 ResultSet res = null; // 查詢結果集 15 16 /* 17 * 建立連線 18 */ 19 con = DBUtil.getConnection(); 20 /* 21 * 編寫sql查詢語句 22 */ 23 String sql = "select * from class"; 24 25 try { 26 27 /* 28 * 預編譯 29 */ 30 psta = con.prepareStatement(sql); 31 32 /* 33 * 執行查詢語句,返回查詢結果 34 */ 35 res = psta.executeQuery(); 36 while (res.next()) { 37 cla = new Class(); // 初始化物件 38 cla.setClass_id(res.getString("class_id")); 39 cla.setClass_name(res.getString("class_name")); 40 cla.setOwner_id(res.getString("owner_id")); 41 classlist.add(cla); // 新增到list的末尾 42 } 43 44 } catch (SQLException e) { 45 e.printStackTrace(); 46 } finally { 47 /* 48 * 關閉資料庫 49 */ 50 DBUtil.closeConnection(con, psta, res); 51 } 52 /* 53 * 返回結果 54 */ 55 return classlist; 56 } 57 }
注:查詢資料庫的程式碼可以可按照自己的風格編寫,本人小白所以程式碼略繁瑣。注意導包,我略去了連線資料庫的工具類的程式碼,直接呼叫自己寫好的。
二、在控制器中呼叫ClassDao,獲取資料返回給檢視
@Controller public class IndexController { @RequestMapping("register.jch") public ModelAndView registerindex() { // TODO Auto-generated method stub /* * 儲存物件資料的list */ List<Class> classlist = new ArrayList<Class>(); /* * 用於操作class表 */ ClassDao classdao = new ClassDao(); /* * 獲取class表的所有資訊 */ classlist = classdao.getAllClassInfo(); /* * 返回資料給檢視 */ ModelAndView mv = new ModelAndView(); mv.addObject("classlist", classlist); mv.setViewName("home/register/register"); return mv; } }
注:setViewName一定要是自己的檢視路徑才能將檢視返回給使用者介面。
三、編寫前端jsp程式碼,獲取控制器返回的資料
1 <label for="cla">班 級:</label> 2 <select style="width:240px;" class="cla" id="cla" name="cla"> 3 <option value="">請選擇:</option> 4 <c:forEach items="${classlist}" var="cla"> 5 <option value="${cla.class_id}">${cla.class_name}</option> 6 </c:forEach> 7 </select>
注:要想正確執行上述程式碼還需要導jar包和在jsp頁面編寫一段宣告才能夠正確解析
在jsp首部新增一行程式碼
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstl-1.2.jar和taglibs-standard-impl-1.2.5-javadoc.jar
匯入這兩個jar包。
四、重新整理頁面檢視效果,祝成功!