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变 ...
随机推荐
- spring boot 程序启动缓慢的问题(二)
今天发现一台服务器上的springboot程序启动特别慢,完全启动起来用了有好几分钟.刚开始以为是代码写的有问题造成了卡死,直到看到这条log: 2017-03-08 10:06:49.600 INF ...
- 题解 P4305 【[JLOI2011]不重复数字】
来一波用vector的最短代码题解 P4305 [JLOI2011]不重复数字 关于hash表的部分大家可以看一看其他的题解,我就不说了 不定长数组vector的几个基本用法: 定义: vector& ...
- hasura graphql-engine + plv8 集成
hasura graphql-engine 是一款很不错的基于pg 的graphql 引擎,plv8 是pg 的一个扩展,我们可以使用js 编写 函数 ,触发器,而且对于es6 的语法也有比较完备的支 ...
- ESA2GJK1DH1K微信小程序篇: 小程序实现MQTT封包源码使用说明
说明 我为了后期能够快速的让小程序实现MQTT,我做了一个MQTT的封装. 功能的封装有助于后期快速的开发,还方便咱维护. 我后期的所有代码皆使用此封装库, 这一节,我就详细的介绍我封装的MQTT.j ...
- 关于Exgcd
%%lkx 学习博客 exgcd(扩展欧几里得) 可以用来判断并求解形如\(ax+by=c\)的方程,当且仅当\(gcd(a,b)|c\)时,存在整数解\(x,y\) 也就是说,\(exgcd\)可以 ...
- 安装Visual Studio IntelliCode提供代码智能提示AI
The Visual Studio IntelliCode extension provides AI-assisted development features for Python, TypeSc ...
- es6引用模块import后面加上花括号{}和不加花括号的区别
在使用import语法引用模块时,如何正确使用{} 例如:有两个文件,home.js.user.js 当需要在home.js中引入user.js的时候 //home.js import user fr ...
- 【操作系统之五】Linux常用命令之grep
一.概念grep(Global search Regular Expression and Print out the line)强大的文本搜索工具,从文本文件或管道数据流中筛选匹配的行及数据,并把匹 ...
- asp.net调用c++的dll
只需要把dll文件拷贝到windows的system32目录下(64位系统为SysWOW64目录),如果操作系统为64位而dll为32位,还需在进程池启用32位支持.
- cad.net 复制图元的时候按下多次esc导致复制中断的bug,令REGEN,REGENALL更新图元无效.
浩辰没有这个bug !!!!!!! 如上述动图所示,cad在复制一个多图元的操作时候,多次按下esc键中断复制操作, **注意例子要有足够多的图元(大概一万个图元),才能很好展示这个bug,而且这个b ...