双重<c:forEach>循环,下拉显示重复

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

有这么一个需求:就是一个用户中包含很多个角色,需要更新用户的角色时,在页面的下拉框中默认显示该用户的所拥有的所有角色。在这里使用<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>

效果图
在这里插入图片描述
其实这就是做一个标记,写算法的时候经常写。下面这段代码就比较好理解了:

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]);
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值