我有一个程序,该程序从数据库中选择一组学生。该程序仅在用户登录后才显示学生。此外,用户可以是“管理员”,“主持人”等。我要做的是在每个学生的右侧显示两个按钮,一个用于编辑另一个用于删除当前学生。我的问题是我想同时为管理员显示两个按钮,对主持人仅显示“编辑”按钮,而对其他用户则不显示。
从现在开始,我尝试使用脚本来检查已登录用户的等级。我的问题是:还有另一种更好的方法(模式或不使用脚本的方式)吗? / p>
这是我的代码:
Welcome ${user.username}
<br /> List of students:
<br />
<c:forEach items="${students}" var="s">
<c:out value="${s.firstName} "></c:out>
<c:out value="${s.lastName} "></c:out>
<c:out value="${s.id}"></c:out>
<%
User user = (User)session.getAttribute("user");
if(user.getRank() == Rank.ADMIN){
out.println("<a href=\"UpdateStudent?id= ${s.id}\">Edit</a>");
out.println("<a href=\"Delete?id= ${s.id}\">Delete</a>");
}
if(user.getRank() == Rank.MODERATOR){
out.println("<a href=\"UpdateStudent?id= ${s.id}\">Edit</a>");
out.println("<a href=\"Delete?id= ${s.id}\">Delete</a>");
}
%></c:forEach>
PS:我想为这种“验证”找到另一种方法,因为我想增加许多等级,并且代码会变得混乱。