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

四、刷新頁面查看效果,祝成功!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM