文章引用自: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]);
}
}