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>

          ??? <!-- 循環顯示列表userRoles的每一項,并判斷如果數據庫中已有的打勾<c:if test標簽正確才執行中間的代碼-->
          ??? <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));
          ??????? }
          ????????
          ?????????//這里就是從列表多選框傳過來的數值。根據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());


          ??????//先刪除數據庫中所有的,再插入所選的值
          ?????????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不能傳遞參數,可在這里直接有response導向別的頁面
          ?????????response.sendRedirect(request.getContextPath()
          ??????? ???+ "/sys/userRolesList.htm?userID=" + userInfo.getSuinId().toString());
          ??????? ?return null;
          ??????? }

          ?}


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

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


          網站導航:
           
          主站蜘蛛池模板: 六枝特区| 沁阳市| 德格县| 牟定县| 泸水县| 屏东县| 巴彦县| 武冈市| 潼南县| 红河县| 陆河县| 彰化市| 萨迦县| 长沙市| 咸宁市| 偃师市| 莲花县| 长子县| 鹿泉市| 青铜峡市| 汉阴县| 和平县| 前郭尔| 泸溪县| 中超| 来凤县| 正阳县| 专栏| 磐安县| 加查县| 文安县| 鹤壁市| 东方市| 青河县| 涞源县| 南丰县| 广德县| 林口县| 于都县| 阜阳市| 铁力市|