spring 3.2 mvc 点击修改按钮时使原来选中的前面画勾

jsp页面的代码以下所示: 数组

<td class="label" valign="top">
          <fmt:message key="authority.cname.title"/>:
         </td>
    <c:forEach items="${authoritys}" var="current" varStatus="i">
        <td>
                      <form:checkbox path="userName" value="${current.id}" checked="checked"/>
      ${current.CName}
     </td>
    </c:forEach>
    <c:forEach items="${authorities}" var="cur" varStatus="j">
        <td>
                      <form:checkbox path="userName" value="${cur.id}"/>
      ${cur.CName}
     </td>
    </c:forEach> app

红色的项表示用户已有的权限,利用循环和checked="checked"在每行加上使这些权限项的前面画勾,绿色的代码表示用户没有的权限,利用循环将这些项显示出来。 jsp

control层的代码以下所示: this

/*
 * edit an existing Authority entity
 */
@RequestMapping("/updateAuthority")
public ModelAndView updateAuthority(@RequestParam Integer idKey)
{
   ModelAndView mav=new ModelAndView();
   User user=systemManageService.findUserById(idKey);
   Set<Authority> sets=systemManageService.findAllAuthorities();
   mav.addObject("user", user);
   mav.addObject("users", shareService.getUsersMap());
   mav.addObject("authoritys", user.getAuthorities());
   mav.addObject("authorities",systemManageService.findOtherAuthorities(idKey));
   mav.addObject("size", sets.size());
   mav.setViewName("_operate/updateAuthority.jsp");
   return mav;
} spa

service层以下所示: orm

/*
  * 查找全部的权限信息
  */
 @Transactional
 public Set<Authority> findAllAuthorities()
 {
  return authorityDAO.findAllAuthoritys();
 } rem

/*
  * 查找用户没有的权限
  */
 public List<Authority> findOtherAuthorities(Integer idKey)
 {
  Set<Authority> sets=this.findAllAuthorities();//获得全部的权限数据;
  User user=userDAO.findUserByPrimaryKey(idKey);
  List<Authority> list=new ArrayList<Authority>();//建立一个空的权限的数组;
  list.addAll(sets);
  Set<Authority> userauth=user.getAuthorities();//获得用户现有的权限;
  List<Authority> list2=new ArrayList<Authority>();//建立一个空的权限的数组;
  list2.addAll(userauth);//将一个set的authority数组转换成一个list型的;
  for(int i=0;i<list2.size();i++)
  {
   Authority auth=list2.get(i);
   int id=auth.getId();
   for(Authority authority:sets)
   {
    if(authority.getId()==id)
        {
     list.remove(authority);
    }
   }
  }
  return list;
 } get

页面显示以下图所示: it

相关文章
相关标签/搜索