zoukankan      html  css  js  c++  java
  • 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="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包。

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

  • 相关阅读:
    Java技术学习笔记:C/S 与B/S 区别
    Java开发面试题总结(八)
    Java技术笔记:数据库的性能优化
    零基础学习Python可以学会吗?你有哪些方法?
    java培训学习路线图之SpringBoot多模块开发学习
    计算机专业选Java和Python哪个前景好点?
    bzoj2152 聪聪可可
    bzoj1468 Tree
    bzoj2879 [Noi2012]美食节
    bzoj2208 [Jsoi2010]连通数
  • 原文地址:https://www.cnblogs.com/blogs-jch/p/11134369.html
Copyright © 2011-2022 走看看