@Result("/WEB-INF/pages/freeze/team/filter.jsp") public String delete(HttpServletRequest req, HttpServletResponse resp) { int id = param(req, "id", 0); Team model = new Team(); if (id != 0) { model.setId(id); model = model.get(id); } if (id == 0) { setAttr(req, TIP_NAME_KEY, "非法ID值"); } else { model.setId(id); model = model.get(id); User user = new User(); user = user.get(model.getUserID()); // TODO more relative if (model.delete()) { setAttr(req, TIP_NAME_KEY, "成功删除[" + user.getUsername() + "]"); } else { setAttr(req, TIP_NAME_KEY, "删除管理团队成员[" + user.getUsername() + "]失败"); } } return this.filter(req, resp); }
@SuppressWarnings("unchecked") @Result("/WEB-INF/pages/freeze/team/filter.jsp") public String filter(HttpServletRequest req, HttpServletResponse resp) { int userID = param(req, "userID", -1); int start = param(req, "start", 0); int end = param(req, "end", 0); String by = param(req, "by"); String order = param(req, "order"); Team model = new Team(); model.setUserID(userID); model.setStart(start); model.setEnd(end); User user = new User(); setAttr(req, PAGE_TEAM_USER_LIST_KEY, user.listAll(" order by username desc")); setAttr(req, MODEL, model); StringBuilder filter = new StringBuilder(); if (userID != -1) { filter.append(" where userID=" + userID); } if (userID == -1 && start != 0) { filter.append(" where start >= " + start); } else if (userID != -1 && start != 0) { filter.append(" and start >= " + start); } if (userID == -1 && start == 0 && end != 0) { filter.append(" where end <= " + end); } else if ((userID != -1 || start != 0) && end != 0) { filter.append(" and end <= " + end); } if (StringUtils.isNotBlank(by) && (by.equals("id") || by.equals("stext") || by.equals("addtime"))) { if (StringUtils.isNotBlank(order) && (order.equals("asc") || order.equals("desc"))) { filter.append(" order by " + by + " " + order); } else { filter.append(" order by " + by + " asc"); } } else { filter.append(" order by id asc"); } // 前台分页 int p = Constant.DEFAULT_CURRENT_PAGE; int countPerPage = Constant.DEFAULT_COUNT_PER_PAGE; try { p = param(req, "page", Constant.DEFAULT_CURRENT_PAGE); if (p < 1) p = Constant.DEFAULT_CURRENT_PAGE; } catch (NumberFormatException e) { p = Constant.DEFAULT_CURRENT_PAGE; } try { countPerPage = param(req, "countPerPage", Constant.DEFAULT_COUNT_PER_PAGE); } catch (NumberFormatException e) { countPerPage = Constant.DEFAULT_COUNT_PER_PAGE; } int currentPage = p; int totalCount = model.totalCount(filter.toString()); Pager pager = new Pager(currentPage, countPerPage, totalCount); // 针对可能的原访问页数大于实际总页数,此处重置下 if (currentPage > pager.getTotalPage()) currentPage = p = pager.getTotalPage(); // 读取部分数据 List<Team> dataList = (List<Team>) model.filterByPage(filter.toString(), p, pager.getCountPerPage()); List<TeamTogether> ttList = new ArrayList<TeamTogether>(); for (Team team : dataList) { TeamTogether tt = new TeamTogether(); User u = new User(); u = u.get(team.getUserID()); tt.setId(team.getId()); tt.setUser(u); tt.setHeadimage(team.getHeadimage()); tt.setStart(team.getStart()); tt.setEnd(team.getEnd()); ttList.add(tt); } setAttr(req, CURRENT_PAGE_KEY, currentPage); setAttr(req, CURRENT_COUNT_PER_PAGE_KEY, countPerPage); setAttr(req, PAGER_KEY, pager); setAttr(req, MAX_PAGERSHOW_LENGTH_KEY, DEFAULT_MAX_PAGERSHOW_LENGTH); setAttr(req, DATA_LIST, ttList); return INPUT; }