下面将演示前端下拉列表显示后台数据库中class表的说有班级的名称

环境:

  Tomcat-8.5.40

  mysql-8.0.13

  eclipse-4.9.0

  springmvc框架

一、从mysql中获取数据

  ①编写Class实体类

    略。。。

  ②编写ClassDao用于操作Class表

 public class ClassDao {
public List<Class> getAllClassInfo(){
/*
* 存储对象数据的list
*/
List<Class> classlist = new ArrayList<Class>();
Class cla = new Class(); // 对象模型 /*
* 开始查询数据库
*/
Connection con = null; // 用于数据库的连接
PreparedStatement psta = null; // 用于操作数据库
ResultSet res = null; // 查询结果集 /*
* 建立连接
*/
con = DBUtil.getConnection();
/*
* 编写sql查询语句
*/
String sql = "select * from class"; try { /*
* 预编译
*/
psta = con.prepareStatement(sql); /*
* 执行查询语句,返回查询结果
*/
res = psta.executeQuery();
while (res.next()) {
cla = new Class(); // 初始化对象
cla.setClass_id(res.getString("class_id"));
cla.setClass_name(res.getString("class_name"));
cla.setOwner_id(res.getString("owner_id"));
classlist.add(cla); // 添加到list的末尾
} } catch (SQLException e) {
e.printStackTrace();
} finally {
/*
* 关闭数据库
*/
DBUtil.closeConnection(con, psta, res);
}
/*
* 返回结果
*/
return classlist;
}
}

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代码,获取控制器返回的数据

  

 <label for="cla">班 级:</label>
<select style="width:240px;" class="cla" id="cla" name="cla">
<option value="">请选择:</option>
4 <c:forEach items="${classlist}" var="cla">
<option value="${cla.class_id}">${cla.class_name}</option>
</c:forEach>
</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包。

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

Javaweb项目-下拉列表显示后台数据库的数据的更多相关文章

  1. AngularJS + Java---前台网页与后台数据库传递数据 基本结构

    第一个关于这两种语言的项目,以下只是我自己的理解,欢迎指教:) 基本对应关系 1. controller .jsp(.html)  ng-controller="controllerTest ...

  2. jasperReports 通过java导出各种格式报表,及javaweb项目整合显示各种报表

    注意:编写此项目时,请先手动编写**.jrxml  或者用IReport生成**.jrxml或**.jasper 注:java导出报表与web项目显示报表方法其实是相同的,只不过有一句代码不同,如下 ...

  3. java web 入门实例servlet篇(显示后台数据库列表,删除某一条记录并显示)

    编写过程中需要注意的问题: 1.建立eclipse动态web工程时,需要改写编译后class文件的位置,通常情况下是这个位置:/WebContent/WEB-INF/classes 2.配置的页面链接 ...

  4. SpringMVC——项目启动时从数据库查询数据

    SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样 ...

  5. Javaweb项目中修改表单时数据回显方法

    1.前言 先来说下什么是数据回显,比如我要修改我的个人信息,点击修改按钮后进入修改界面,在这个界面中直接将原来的信息显示在表单中,而不是空表单,这就是数据回显 2.思路 当点击修改的时候,从数据库中查 ...

  6. zabbix 后台数据库清除数据

    alerts 表 problem 表 escalations 表 events 表  event_recovery表 对 这些表进行清除 防止不停发送邮件 -- alerts table rebuil ...

  7. Decoration2:引入Angularjs显示前台一条数据

    SpringMVC内置的RestFul API格式采用的是最复杂最全面的HATEOAS规范,对于简单应用来说,前台解析起来不方便,我们下面主要想办法重新定义一种简单的RestFulAPI. (1)先是 ...

  8. mysql 关于数据库和数据表的基本操作

    -- 备注: -- .每一条mysql语句后面都需要加上半角分号 -- .可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name` -- .mysql在windows下不区分大小写,在li ...

  9. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

随机推荐

  1. 201871010117-石欣钰《面向对象程序设计(java)》第二周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  2. 网络编程 UDP协议 TCP局域网客户端与服务端上传下载电影示例

    UDP协议 (了解) 称之为数据包协议,又称不可靠协议. 特点: 1) 不需要建立链接. 2) 不需要知道对方是否收到. 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需 ...

  3. V2X:

    一篇文章读懂V2X系列:标准篇 为了提升交通系统的安全性和智能化,智能交通系统的概念正逐渐兴起.智能交通可以利用新一代的通信网络和数据处理能力,提高现有交通系统的整体效率,降低能量损耗,增加运输的安全 ...

  4. Linux操作中应该注意的问题

    1.覆盖问题 (1)cp覆盖 (2)scp覆盖 (3)重定向 “>” 覆盖 (4)tar覆盖 2.磁盘问题 (1)GPT格式的分区会覆盖磁盘上原有的分区 (2)在/etc/fstab中写入完成后 ...

  5. LOJ2778 [BOI2018]基因工程 随机化

    题面 不想写了...留坑吧... 基本思想可参照随机化解决判同问题的总结 代码: #include<bits/stdc++.h> using namespace std; #define ...

  6. Ajax运用与分页

    目录 django与ajax的分页处理 ajax + sweetAlert 实现再次确认: 批量数据插入 分页: django与ajax的分页处理 ajax + sweetAlert 实现再次确认: ...

  7. TensorFlow实现文本情感分析详解

    http://c.biancheng.net/view/1938.html 前面我们介绍了如何将卷积网络应用于图像.本节将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句 ...

  8. ECMAScript6之Class

    1.Class的基本语法 1.1简介 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰.更像面向对象编程的语法而 ...

  9. go 优秀文档

    go语言资料汇总 : https://blog.zhnytech.com/articles/2016/07/15/Golang%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99% ...

  10. 《Linux就该这么学》培训笔记_ch17_使用iSCSI服务部署网络存储

    <Linux就该这么学>培训笔记_ch17_使用iSCSI服务部署网络存储 文章最后会post上书本的笔记照片. 文章主要内容: iSCSI技术介绍 创建RAID磁盘阵列 配置iSCSI服 ...