下面将演示前端下拉列表显示后台数据库中class表的说有班级的名称
环境:
Tomcat-8.5.40
mysql-8.0.13
eclipse-4.9.0
springmvc框架
一、从mysql中获取数据
①编写Class实体类
略。。。
②编写ClassDao用于操作Class表
1 public classClassDao {2 public ListgetAllClassInfo(){3 /*
4 * 存储对象数据的list5 */
6 List classlist = new ArrayList();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 returnclasslist;56 }57 }
ClassDao
注:查询数据库的代码可以可按照自己的风格编写,本人小白所以代码略繁琐。注意导包,我略去了连接数据库的工具类的代码,直接调用自己写好的。
二、在控制器中调用ClassDao,获取数据返回给视图
@Controllerpublic classIndexController {
@RequestMapping("register.jch")publicModelAndView registerindex() {//TODO Auto-generated method stub
/** 存储对象数据的list*/List classlist = new ArrayList();/** 用于操作class表*/ClassDao classdao= newClassDao();/** 获取class表的所有信息*/classlist=classdao.getAllClassInfo();/** 返回数据给视图*/ModelAndView mv= newModelAndView();
mv.addObject("classlist", classlist);
mv.setViewName("home/register/register");returnmv;
}
}
IndexControlle
注:setViewName一定要是自己的视图路径才能将视图返回给用户界面。
三、编写前端jsp代码,获取控制器返回的数据
1 班 级:
2
3 请选择:
4
5 ${cla.class_name}
6
7
注:要想正确执行上述代码还需要导jar包和在jsp页面编写一段声明才能够正确解析
在jsp首部添加一行代码
jstl-1.2.jar和taglibs-standard-impl-1.2.5-javadoc.jar
导入这两个jar包。
四、刷新页面查看效果,祝成功!