1. 程式人生 > 其它 >Javaweb專案-下拉列表顯示後臺資料庫的資料

Javaweb專案-下拉列表顯示後臺資料庫的資料

下面將演示前端下拉列表顯示後臺資料庫中class表的說有班級的名稱

環境:

  Tomcat-8.5.40

  mysql-8.0.13

  eclipse-4.9.0

  springmvc框架

一、從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

  注:查詢資料庫的程式碼可以可按照自己的風格編寫,本人小白所以程式碼略繁瑣。注意導包,我略去了連線資料庫的工具類的程式碼,直接呼叫自己寫好的。

二、在控制器中呼叫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;
    }

}
IndexControlle

  注: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包。

四、重新整理頁面檢視效果,祝成功!