双重循环,下拉显示重复

1.有这么一个需求:就是一个用户中包含不少个角色,须要更新用户的角色时,在页面的下拉框中默认显示该用户的所拥有的全部角色。在这里使用<c:forEach>遍历全部的角色列表和用户所拥有的角色列表。算法

<div class="layui-block">
         <label class="layui-form-label">角色<span style="color:red">*</span></label>
         <div class="layui-input-inline">
             <select name="roles.id"  multiple>
                 <option value="">请选择角色</option>
                 <c:forEach var="role" items="${roles}">
                 	<c:set var="flag" value="0"></c:set>
                 	<c:forEach var="m" items="${user.roles}">
                 		<c:if test="${m.id==role.id}">
                 			<c:set var="flag" value="1"></c:set>
                 		</c:if>
                 	</c:forEach>
                 	<option value="${role.id}" <c:if test="${flag==1}">selected</c:if>>${role.roleDescription}</option>                
                 </c:forEach>               
             </select>
         </div>
     </div>

2.效果图
输入图片说明
3.其实这就是作一个标记,写算法的时候常常写。下面这段代码就比较好理解了:数组

int a[] = {1,5,6,8};
int b[] = {2,5};
for(int i=0;i<a.length;i++){
    int flag = 0;
    for(int j=0;j<b.length;j++){
	if(a[i] == b[j]){
		flag = 1;
	}
    }
    if(flag == 1){
	System.out.println("a、b数组中相同的元素为:"+a[i]);
   }
}
相关文章
相关标签/搜索