--------------------效果展示:
1.主页:
2.点击添加科目 会以模态框的形式跳出添加页面
3.点击修改功能 首先会以模态框的形式弹出 然后上面还有原本的数据
4.点击状态栏会更改科目的开启状态 并且数据库也会跟着变化 更新后会弹出提示信息
5.点击管理学生按钮 可以看到跟该科目关联的学生会打勾 在这里可以打勾和取消打勾 然后数据库也会随之改变
6.点击删除按钮 当该科目有学生关联的时候 会跳出提示框 该科目无法删除
反之 就可以进行删除
--------------------代码展示:
1.显示主页的功能:
controller层:
在这里顺便实现了分页的功能 分页功能可看前面的篇章。
jsp页面:
2.添加功能:
controller层:
有关CommonMessageResultVO 是一个试题类 主要是保存一种状态和一些错误信息
在之前的篇章中有给出代码。
jsp页面:
添加模态框:
ps:获取状态栏是通过 将勾选或者没勾选 都放进一个array中
然后遍历这个array 并且让遍历后的东西组成一个字符串,如果字符串为空,则说明是没勾选(1),
反之则说明是有勾选的(0)。
3.修改功能
修改功能要实现点击修改后弹出的模态框上有原本的数据 这一操作 则需要通过id找到数据 后再将数据写在上面
controller:
jsp页面:
ps 在这里修改的模态框中加入一个隐藏框 用于存放那个选中数据的id
前台通过ajax传一个subid 给controller后台 后台通过这个id查找到数据在返回给前台 即下文中的data1
后再将data1写入模态框中 就实现了 点击修改后 弹出的模态框中有原本数据这个功能。
修改并保存的操作于上面的保存方法基本一致。
4.点击状态栏修改状态的功能
ps:点击状态栏的时候 获取两个值 一个是id 一个是stutas 然后传给后台 后台通过这个id找到指定的数据 然后再根据status 给这条数据进行修改
修改用的方法跟 修改功能用的是同一个dao里的方法;
controller层:
jsp页面:
5.点击编辑学生按钮的功能
①所以是点击按钮后跳出模态框 模态框里有关联的学生就打勾,没关联的学生就不打勾
controller层:
findUseridByroleid(2):有一张数据表中只有userid 和 roleid, 这方法是通过roleid =2 即为学生 找出所有的学生id;
finduseridbysubid:有一张数据表只有userid 和 subid, 这方法是通过subid 找到关联了这个subid的userid 有哪些;
jsp 页面:
②选择打勾 或者 取消打勾 并且同步到数据库中
savesubjectstudent方法
controller层:
jsp页面:
模态框:
6.删除功能:
controller层:
jsp页面:
over 这个功能很重要 。。