栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

EasyUI+JavaWeb奖助学金管理系统[17]-问题反馈功能开发

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

EasyUI+JavaWeb奖助学金管理系统[17]-问题反馈功能开发

1. 本章任务

前期已完成以下功能开发:

  • 登录
  • 后台管理主页面
  • 奖助学金项目管理
  • 机构管理
  • 人员管理
  • 角色权限管理

今天来开发问题反馈功能。问题反馈是指学生提出反馈问题,并且查看反馈问题的答复信息(管理员负责答复问题)。

此处涉及两个页面:学生问题反馈页面questionAsk.html,管理员问题答复页面questionReply.html。

2. 添加菜单

首先在WebContent目录下添加两个页面questionAsk.html和questionReply.html。

然后在Menu表添加两个菜单:

INSERT INTO `scholar-system`.`menu`(`id`, `name`, `path`) VALUES (5, '问题反馈', 'questionAsk.html');
INSERT INTO `scholar-system`.`menu`(`id`, `name`, `path`) VALUES (6, '问题答复', 'questionReply.html');

最后还需要通过管理员的权限管理页面,为管理员角色添加问题答复权限,为学生角色添加问题反馈权限。

3. 学生问题反馈开发

首先学生需要能分页查看自己反馈的问题,此处就是一个普通的分页查询,需要注意的一点是在查询时需要携带当前登录用户的信息,因为学生只能查看自己反馈的问题。然后学生可以提交问题,在问题反馈表中新增一条记录即可。

修改questionAsk.html代码:




	
		
		
		
		
		
		
		
		
	

	
		
		
序号 反馈人 所属班级 问题内容 问题答复
反馈内容:
保存

修改CoreServlet:

// 获取问题列表
		else if (method.equals("getQuestionPage")) {
			if (loginUser.getRole().equals("schoolmaster")) {// 管理员查看全部问题
				QuestionDao questionDao = new QuestionDao();
				total = questionDao.getCount();
				result.setTotal(total);
				result.setRows(questionDao.getPage(page, rows));
			} else if (loginUser.getRole().equals("student")) {// 学生查看自己提交的问题
				QuestionDao questionDao = new QuestionDao();
				total = questionDao.getCount(loginUser.getId());
				result.setTotal(total);
				result.setRows(questionDao.getPage(page, rows, loginUser.getId()));
			}
		}
		// 提交问题
		else if (method.equals("questionSubmit")) {
			// 获取机构信息
			DepartDao departDao = new DepartDao();
			Depart depart = departDao.getById(loginUser.getDepartId());
			// 组装问题信息
			Question question = new Question();
			question.setUserId(loginUser.getId());
			question.setUserName(loginUser.getUserName());
			question.setDepartId(depart.getId());
			question.setDepartName(depart.getName());
			question.setContent(request.getParameter("content"));
			// 插入数据库
			QuestionDao questionDao = new QuestionDao();
			questionDao.insert(question);
			result.setCode(0);
			result.setMsg("操作成功");
		}

修改QuestionDao:

	
	public int getCount() throws Exception {
		Connection conn = ConnectionUtils.getConnection();
		String sql = "select count(id) from question ";
		QueryRunner runner = new QueryRunner();
		Number number = (Number) runner.query(conn, sql, new ScalarHandler());
		int value = number.intValue();
		ConnectionUtils.releaseConnection(conn);
		return value;
	}

	
	public List getPage(int page, int rows) throws Exception {
		Connection conn = ConnectionUtils.getConnection();
		String sql = "select * from question limit ?,?";
		QueryRunner runner = new QueryRunner();
		Object[] params = { (page - 1) * rows };
		List questions = runner.query(conn, sql, new BeanListHandler(Question.class), params);
		ConnectionUtils.releaseConnection(conn);
		return questions;
	}

	
	public int getCount(String userId) throws Exception {
		Connection conn = ConnectionUtils.getConnection();
		String sql = "select count(id) from question where userId=?";
		QueryRunner runner = new QueryRunner();
		Object[] params = { userId };
		Number number = (Number) runner.query(conn, sql, new ScalarHandler(), params);
		int value = number.intValue();
		ConnectionUtils.releaseConnection(conn);
		return value;
	}

	
	public List getPage(int page, int rows, String userId) throws Exception {
		Connection conn = ConnectionUtils.getConnection();
		String sql = "select * from question where userId=? limit ?,?";
		QueryRunner runner = new QueryRunner();
		Object[] params = { userId,(page - 1) * rows, rows };
		List questions = runner.query(conn, sql, new BeanListHandler(Question.class), params);
		ConnectionUtils.releaseConnection(conn);
		return questions;
	}
4. 管理员问题答复功能开发

其实管理员功能答复,首先是显示所有问题的分页列表,然后就是可以编辑其中一个问题的reply属性。

没有什么新的功能,感兴趣的可以直接去看源码。

5. 总结

问题反馈和问题答复其实就是一个变通版本的分页查询、新增、修改功能。需要根据登录人员的角色查询/处理不同的数据库数据而已。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号