【发布时间】:2014-01-02 12:45:24
【问题描述】:
您好,我正在尝试创建一个有序列表,该列表可以显示选项以根据 cookie 的值移动到各个页面。 cookie 已正确设置。并且它的价值正在获得..但有一些我无法准确指出的错误..
<c:forEach items= "${cookie}" var="currentCookie">
<c:if test="${currentCookie.key eq 'user_type' }">
<c:set var="user_type" value = "${currentCookie.value.value }"/>
</c:if>
</c:forEach>
<c:choose>
<c:when test="${not empty user_type}">
<li><a class="" href="#">SELECT</a>
<ul>
<c:when test="${user_type='T'}"><li><a href="/myproject/f/auction_history/">My Account</a></li></c:when>
<c:when test="${user_type='P'}"><li><a href="/myproject/f/auction_history/">My Account</a></li></c:when>
<c:when test="${user_type='D'}"><li><a href="/myproject/f/menubarCreateAuction/">Create Auction</a></li></c:when>
<c:when test="${user_type='F'}"><li><a href="/myproject/f/menubarDfoManagement/">DFO Management</a></li></c:when>
<c:when test="${user_type='S'}"><li><a href="/myproject/f/menubaruserManagement/">User Management</a></li></c:when>
</ul>
</li>
</c:when>
<c:otherwise>
<li><a class="" href="#">SELECT</a>
<ul>
<li><a href="/myproject/f/menubarCreateAuction/">Create Auction</a></li>
<li><a href="/myproject/f/menubarDfoManagement/">DFO Management</a></li>
<li><a href="/myproject/f/menubaruserManagement/">User Management</a></li>
</ul>
</li>
</c:otherwise>
foreach 选择各种cookies,获取带有user_type 的那个并获取值..
在 c 中选择 cookie 的值与生成有序列表的预定值进行比较 如果未选择任何值,则列表中应仅显示 3 个项目
请帮忙..
【问题讨论】:
-
您的“测试”语法可能需要查看。请改用
${user_type eq 'T'}。注意eq的使用。你也可以使用==。 -
其实这里还有很多错误。您对
<li>和<ul>的使用完全搞砸了,您对<c:when>语句的嵌入是错误的,嵌套而没有包装<c:choose>,然后您对排序列表的要求有点奇怪,因为您要么有一个值或 3,但仅此而已。
标签: java list jsp cookies jstl