<% for(int count=0;count<lengthOfUser;count++) {%>
<%int tempuser= users[count]; %>
<c:forEach items="${userList}" var="user" varStatus="status">
<c:choose>
<c:when test="${user.userID == tempuser}">
hiii
</c:when>
</c:choose>
</c:forEach>
<%}%>
这是我的jsp页面。我正在尝试比较两个变量。但这段代码不起作用。请帮助我。
答案 0 :(得分:1)
将在任何 scriptlet 标记之前读取所有 jstl 标记。因此,您必须使用 jstl <c:set
标记创建变量。
见这个例子:
<% for (int i = 0; i < 3; i++) {%>
<c:set value="${i}" var="tempuser1"></c:set>
<c:set value="initialized with some value" var="tempuser2"></c:set>
<c:out value="${tempuser1}"></c:out>
<c:out value="${tempuser2}"></c:out>
<br/>
<% }
%>
它在浏览器中打印:
initialized with some value
initialized with some value
initialized with some value
这里,<c:out value="${tempuser1}"></c:out>
打印空值,因为当读取 jstl 标记时,scriptlet标记内声明的变量(i
)不存在,因此变量{{ 1}}(在tempuser1
中)初始化为空值。
但是,您可以按如下方式重写代码,它适用于我:
<c:set value="${i}" var="tempuser1"></c:set>