Javaweb项目-下拉列表显示后台数据库的数据
下面将演示前端下拉列表显示后台数据库中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项目-下拉列表显示后台数据库的数据的更多相关文章
- AngularJS + Java---前台网页与后台数据库传递数据 基本结构
第一个关于这两种语言的项目,以下只是我自己的理解,欢迎指教:) 基本对应关系 1. controller .jsp(.html) ng-controller="controllerTest ...
- jasperReports 通过java导出各种格式报表,及javaweb项目整合显示各种报表
注意:编写此项目时,请先手动编写**.jrxml 或者用IReport生成**.jrxml或**.jasper 注:java导出报表与web项目显示报表方法其实是相同的,只不过有一句代码不同,如下 ...
- java web 入门实例servlet篇(显示后台数据库列表,删除某一条记录并显示)
编写过程中需要注意的问题: 1.建立eclipse动态web工程时,需要改写编译后class文件的位置,通常情况下是这个位置:/WebContent/WEB-INF/classes 2.配置的页面链接 ...
- SpringMVC——项目启动时从数据库查询数据
SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样 ...
- Javaweb项目中修改表单时数据回显方法
1.前言 先来说下什么是数据回显,比如我要修改我的个人信息,点击修改按钮后进入修改界面,在这个界面中直接将原来的信息显示在表单中,而不是空表单,这就是数据回显 2.思路 当点击修改的时候,从数据库中查 ...
- zabbix 后台数据库清除数据
alerts 表 problem 表 escalations 表 events 表 event_recovery表 对 这些表进行清除 防止不停发送邮件 -- alerts table rebuil ...
- Decoration2:引入Angularjs显示前台一条数据
SpringMVC内置的RestFul API格式采用的是最复杂最全面的HATEOAS规范,对于简单应用来说,前台解析起来不方便,我们下面主要想办法重新定义一种简单的RestFulAPI. (1)先是 ...
- mysql 关于数据库和数据表的基本操作
-- 备注: -- .每一条mysql语句后面都需要加上半角分号 -- .可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name` -- .mysql在windows下不区分大小写,在li ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
随机推荐
- 201871010117-石欣钰《面向对象程序设计(java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 网络编程 UDP协议 TCP局域网客户端与服务端上传下载电影示例
UDP协议 (了解) 称之为数据包协议,又称不可靠协议. 特点: 1) 不需要建立链接. 2) 不需要知道对方是否收到. 3) 数据不安全 4) 传输速度快 5)能支持并发 6) 不会粘包 7) 无需 ...
- V2X:
一篇文章读懂V2X系列:标准篇 为了提升交通系统的安全性和智能化,智能交通系统的概念正逐渐兴起.智能交通可以利用新一代的通信网络和数据处理能力,提高现有交通系统的整体效率,降低能量损耗,增加运输的安全 ...
- Linux操作中应该注意的问题
1.覆盖问题 (1)cp覆盖 (2)scp覆盖 (3)重定向 “>” 覆盖 (4)tar覆盖 2.磁盘问题 (1)GPT格式的分区会覆盖磁盘上原有的分区 (2)在/etc/fstab中写入完成后 ...
- LOJ2778 [BOI2018]基因工程 随机化
题面 不想写了...留坑吧... 基本思想可参照随机化解决判同问题的总结 代码: #include<bits/stdc++.h> using namespace std; #define ...
- Ajax运用与分页
目录 django与ajax的分页处理 ajax + sweetAlert 实现再次确认: 批量数据插入 分页: django与ajax的分页处理 ajax + sweetAlert 实现再次确认: ...
- TensorFlow实现文本情感分析详解
http://c.biancheng.net/view/1938.html 前面我们介绍了如何将卷积网络应用于图像.本节将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句 ...
- ECMAScript6之Class
1.Class的基本语法 1.1简介 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰.更像面向对象编程的语法而 ...
- go 优秀文档
go语言资料汇总 : https://blog.zhnytech.com/articles/2016/07/15/Golang%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99% ...
- 《Linux就该这么学》培训笔记_ch17_使用iSCSI服务部署网络存储
<Linux就该这么学>培训笔记_ch17_使用iSCSI服务部署网络存储 文章最后会post上书本的笔记照片. 文章主要内容: iSCSI技术介绍 创建RAID磁盘阵列 配置iSCSI服 ...