posts - 9,  comments - 1,  trackbacks - 0

          頁面代碼:
          <!--? 這個是顯示的多選框頁面 已有的角色要打勾,可以重新選擇角色-->
          <form action="<c:url value="/sys/userRolesEdit.htm"/>" method="post" >

          ????? <table class="grid" width="100%" cellspacing="1">
          ?????
          ??? <tr>
          ?????? <td colspan="6" class="title">
          ????????? 角色列表
          ?????? </td>
          ??? </tr>
          ??? <tr>
          ??? ? <td class="column"></td>
          ?????? <td class="column">角色ID</td>
          ?????? <td class="column">角色名</td>
          ?????? <td class="column">角色代碼</td>
          ?????? <td class="column">角色描述</td>??????

          ??? </tr>

          ??? <!-- 循環(huán)顯示列表userRoles的每一項,并判斷如果數(shù)據(jù)庫中已有的打勾<c:if test標簽正確才執(zhí)行中間的代碼-->
          ??? <c:forEach items="${roles}" var="item">????
          ???<tr>??????
          ???? <td>
          ???? <input type="checkbox" name="rolesId" <c:forEach items="${userRoles}" var = "selectedRoles">
          ???? <c:if test="${item.srolId == selectedRoles.srolId}">checked="true"</c:if></c:forEach>
          ????? value="<c:out value="${item.srolId}"/>" />
          ???? </td>
          ???
          ???? <td><c:out value="${item.srolId}"/></td>
          ??????? <td><c:out value="${item.srolName}"/> </td>
          ???????????????? <td><c:out value="${item.srolCode}"/></td>
          ???????????????? <td><c:out value="${item.srolDesc}"/></td>????????????????
          ???? <tr>???????
          ??? </c:forEach> ??
          ???
          ??? <tr>

          ?????? <td colspan="6" class="nav">&nbsp;
          ?????? ??? <input type="hidden" name="userID"
          ???value=<c:out value="${userInfo.suinId}"/>>
          ????? <input type="submit" class="button3" value="提交"/>
          ????? <INPUT type="button" class="button2" value="返回" onclick="history.back()" />
          ?????
          ?????? </td>
          ??? </tr>
          ?? </table>?
          ?? </form>

          控制器代碼:
          protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
          ??// TODO Auto-generated method stub
          ??
          ??Map result = new HashMap();
          ??
          ??SysUserinfo userInfo = null;
          ??????? String id = request.getParameter("userID");

          ??????? System.out.println(id);
          ??????? if (id != null && !id.equals(""))
          ??????? {
          ??????????? userInfo = (SysUserinfo) sysService.get(SysUserinfo.class,
          ??????????????????? new Long(id));
          ???????????
          ??????? }
          ??????? else
          ??????? {
          ???????????
          ??????? }
          ???????
          ??????? result.put("userInfo", userInfo);
          ??????? result.put("roles", sysService.getSupportData("SysRole", null));
          ??????? if (userInfo != null)
          ??????? {
          ??????? ?result.put("userRoles", sysService.getUserRoles(userInfo));
          ??????? }
          ???????
          ?
          ???????
          ??????? SysUserRole sysUserRole = null;
          ??????? SysRole sysRole = null;
          ??????? String roleId = null;
          ???????
          ??????? // 記錄父列表ID
          ??????? result.put("parentlistID", request.getParameter("parentlistID"));
          ??????? result.put("userInfo", userInfo);
          ????????
          ?????????//遍歷所有map里的key
          ??????? Iterator it = result.keySet().iterator();
          ??????? while (it.hasNext())
          ??????? {
          ??????????? String key = (String) it.next();
          ??????????? request.setAttribute(key, result.get(key));
          ??????? }
          ????????
          ?????????//這里就是從列表多選框傳過來的數(shù)值。根據(jù)name屬性獲得所有的value
          ??????? String[] rolesId = null;
          ??????? rolesId = request.getParameterValues("rolesId");
          ??????? System.out.println("------------------------" + rolesId + "-------------------");
          ???????
          ??????? if (rolesId == null || rolesId.equals(null))
          ??????? {
          ??????? ?return new ModelAndView(formView);
          ??????? }
          ???????
          ??????? else
          ??????? {?????
          ??????? ?List userRoles = (List)sysService
          ??????? ??.getUsersUserRoles(userInfo.getSuinId());


          ??????//先刪除數(shù)據(jù)庫中所有的,再插入所選的值
          ?????????for (int k = 0; k < userRoles.size(); k++)
          ??? ??{
          ??? ???SysUserRole userRole = (SysUserRole)userRoles.get(k);?? ???
          ??? ???sysService.delete(userRole);
          ??? ???
          ??? ??}
          ??????? ?
          ??????? ?for (int i = 0; i < rolesId.length; i++)
          ??????? ?{
          ??????? ??roleId = rolesId[i];
          ??????? ??
          ??????? ??sysRole = (SysRole)sysService.get(SysRole.class, new Long(roleId));
          ??????? ??sysUserRole = new SysUserRole();
          ??????? ??sysUserRole.setUser(userInfo);
          ??????? ??sysUserRole.setRole(sysRole);
          ??????? ??sysService.save(sysUserRole);?????? ?
          ??????? ?}

          ?????????//如果在###-servlet.xml配置文件中,successView不能傳遞參數(shù),可在這里直接有response導(dǎo)向別的頁面
          ?????????response.sendRedirect(request.getContextPath()
          ??????? ???+ "/sys/userRolesList.htm?userID=" + userInfo.getSuinId().toString());
          ??????? ?return null;
          ??????? }

          ?}


          posted on 2006-10-25 09:27 lovetq 閱讀(1787) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 醴陵市| 北辰区| 自治县| 昂仁县| 松桃| 襄樊市| 青神县| 沾益县| 收藏| 怀安县| 朔州市| 淳化县| 龙岩市| 淮北市| 务川| 公安县| 贡嘎县| 卫辉市| 乃东县| 密山市| 巴楚县| 额济纳旗| 象州县| 林西县| 平远县| 宜川县| 贵南县| 交城县| 兴和县| 寿阳县| 武强县| 长岭县| 东丰县| 商都县| 银川市| 汶川县| 确山县| 江都市| 扎囊县| 仙居县| 同德县|