双重循环,下拉显示重复

文章引用自:https://my.oschina.net/u/2489258/blog/1807781

有这么一个需求:就是一个用户中包含很多个角色,需要更新用户的角色时,在页面的下拉框中默认显示该用户的所拥有的所有角色。在这里使用遍历所有的角色列表和用户所拥有的角色列表。

 <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}" if test="${flag==1}">selectedc:if>>${role.roleDescription}option>                
             c:forEach>               
         select>
     div>
 div>

效果图
双重<c:forEach>循环,下拉显示重复_第1张图片
其实这就是做一个标记,写算法的时候经常写。下面这段代码就比较好理解了:

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]);
   }
}

你可能感兴趣的:(htm)