如何在春天隐藏/显示用户记录的字段选项

时间:2015-04-06 07:00:46

标签: java spring spring-mvc spring-security

下面是我在jsp中使用的代码

                <option value="" disabled selected>--Select--</option>
                <c:forEach items="${users}" var="user" varStatus="status">
                    <option value="${user.userId}"><c:out
                            value="${user.userName}"></c:out>
                    </option>
                </c:forEach>
                <option value="-1">All</option>
            </select>

<c:forEach items="${expenseList}" var="list" varStatus="status">
                    <tr>                        
                        <td><input type="checkbox" name="check" id="check"
                            value="${list.expenseId}" class="case"></td>
                        <td>${list.itemDescription}</td>
                        <td>${list.amount}</td>
                        <td>${list.expenseDate}</td>
                    </tr>
                </c:forEach>

因此,当用户从下拉列表中选择“全部”选项时,他将能够查看所有注册用户的记录,但复选框选项仅对其记录而非其他注册用户可用。但是如果登录的用户是管理员,那么该复选框选项应该可用于所有记录...所以请帮助我如何在春季或春季安全实现它

2 个答案:

答案 0 :(得分:0)

在您的控制器中优先LoginController,您可以检查Privilege Users是否正在使用!!然后在Session

中设置相同的属性

现在在Jsp中检查该属性是否可以说(roleId

<c:if test="${roleId eq '1'}"> --> 1 is for SuperAdmin
   Show the CheckBox else not 
</c:if>

答案 1 :(得分:0)

我不确定它是最适合Spring的方法,但我会考虑以下几点:

  1. 将一个字段/成员添加到expenseList / list,指示在选择&#34; All&#34;时是否应该启用该复选框,包括所说的逻辑&#34;如果条目是&#39;拥有& #39;用户或用户是Admin - 设置为true,否则设置为false&#34;。
  2. 将您的复选框更改为:<input type="checkbox" name="check" id="check" value="${list.expenseId}" class="case" enableOnAll="${list.isEnabledOnAll}">
  3. 当用户将下拉选项更改为&#34;全部&#34;时,循环选中复选框,并仅启用&#34; true&#34;。