Javaweb项目-下拉列表显示后台数据库的数据
下面将演示前端下拉列表显示后台数据库中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包。
四、刷新页面查看效果,祝成功!

浙公网安备 33010602011771号