JSP+Servlet培训班作业管理系统[11]–人员浏览功能的实现

点此查看本系列文章目录、源代码、配套视频教程

1. 本章任务

之前已经实现了登录功能,要想使整个系统运转起来,首先就要建立教师和学生的档案信息,使学生和老师都能登录系统进行操作。

按我们的设计,培训学校的校长负责进行人员管理操作,包括管理校长、教师、学生,注意校长也可以有多个,避免有一个校长请假导致系统没法运转了。

本章的任务就是开发校长角色人员管理页面中浏览所有人员列表的功能。

2. 为校长角色添加人员管理菜单

修改Constants类,为校长角色添加人员管理页面usermanage.jsp

public class Constants {
	// 用于保存角色及对应的菜单信息
	public static HashMap<String, String[][]> roleMenuMap = new HashMap<String, String[][]>();
	// 使用static代码块对roleMenuMap进行初始化
	static {
		// 校长拥有的菜单
		roleMenuMap.put("master", new String[][] { { "人员管理", "usermanage.jsp" } });
	}
}

3. 携带人员列表信息进入人员管理页面

回忆下点击左侧菜单发生了什么,我们看下左侧菜单内容:

		<div id="left">
			<ul>
				<c:forEach items="${loginMenus}" var="menu">
					<li>
					<a href="/HomeworkSystem/RouteServlet?childPage=${menu[1]}">${menu[0]}</a>
					</li>
				</c:forEach>
			</ul>
		</div>

其实点击左侧菜单后,会先进入RouteServlet,同时传递一个页面字符串参数(此处为'usermanage.jsp')给RouteServlet。RouteServlet会根据字符串跳转相应页面。

此处就需要注意了,我们跳转到人员管理页面时,是想显示当前所有用户列表的,所以应该查询出所有用户列表信息放入request对象中,然后传递给页面显示。

所以修改RouteServlet类如下:

@WebServlet("/RouteServlet")
public class RouteServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 设置输入输出格式、编码
		response.setContentType("text/html");
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		// 获取用户在网页输入的用户名和密码
		String childPage = request.getParameter("childPage");
		request.setAttribute("childPage", childPage);
		if (childPage.equals("usermanage.jsp")) { // 进入人员管理页面需要携带人员列表信息
			UserDao userDao = new UserDao();
			List<User> users = userDao.getUsers();
			request.setAttribute("users", users);
		}
		request.getRequestDispatcher("/index.jsp").forward(request, response);// 跳转到index.jsp
	}
}

4. 在人员管理页面显示人员列表

新建userManage.jsp页面,此时可以通过<c:forEach>标签遍历users变量,将用户列表显示到页面上。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>userManage.jsp</title>
</head>
<body>
	<table>
		<thead>
			<tr>
				<th>编号</th>
				<th>姓名</th>
				<th>角色</th>
			</tr>
		</thead>
		<c:forEach items="${users}" var="item">
			<tr>
				<td>${item.userId}</td>
				<td>${item.userName}</td>
				<td>${item.userRole}</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

此时使用赵校长+123登录并点击左侧人员管理菜单后,即可查看人员列表了,效果如下:

在这里插入图片描述

5. 总结

可以从网页上查看所有用户数据,是一个巨大的进步,从此可以说这个网站有点用了。非常不错!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值