ビューテクノロジとしてjspを使用しているため、コアタグを使用して、アクセスレベルに応じて緑のチェックマークと赤のクロスのどちらを表示するかを決定します。
コアタグの使用法について詳しくは、このサイトにアクセスしてください。プロジェクトのクラスパスにjstl.jarファイルとstandard.jarファイルを含めることを忘れないでください。それらはjstlをサポートする必要なライブラリです。
あなたのアプリケーションはSpringFrameworkを使用して開発されているように見えるので、その方法でのみ説明しようと思います。
JSPコードは次のようになります。userlist.jspという名前を付けます。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!doctype>
<html>
<head>
<script src="${pageContext.request.contextPath}/js/jquery-1.3.2.min.js" type="text/javascript></script>
<script src="${pageContext.request.contextPath}/js/jquery.dd.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/dd.css" />
</head>
<body>
<form:select id="userNames" path="userName" tabindex="10">
<form:option value="Select User">Select User</form:option>
<c:forEach begin="${userlist begin index (0)}" end="${userlist size}" var="i">
<c:choose>
<c:when test="${userNameList.user.accessLevel == 1}">
<form:option style="background-image:url(greentick.png);" value="${userNameList.user.userName}">${userNameList.user.userName}</form:option>
</c:when>
<c:otherwise>
<form:option style="background-image:url(redcross.png);" value="${userNameList.user.userName}">${userNameList.user.userName}</form:option>
</c:otherwise>
</c:choose>
</c:forEach>
</form:select>
</body>
</html>
これで、アクションを呼び出した後に呼び出されるコントローラーが作成され、 userNameListとともにこのjspが返されます。以下はUserController.javaのサンプルです
@Controller
public class UserController {
@RequestMapping(value = "/showUsers", method = RequestMethod.GET)
public String showUserInfo(Model model) {
// here you prepare the userList, the list of Users along with information
// here User can be fetched from DB & values stored in User DTO and then DTO in the list
List<User> userNameList = new ArrayList<User>();
userNameList.add(User DTO objects go here);
model.addAttribute("userNameList", userNameList);
return "userlist"; // remember this is our jsp name
}
}
&ユーザーDTOは次のようになります。以下はUser.javaのサンプルです
public class User {
private String userName;
private int accessLevel;
// setters & getters of variables
}
これは完全に明確な答えではありません。私は説明するために最善を尽くしました。これを試してみてください。動作するはずです。