我的if语句总是评估为false而不是进入<span>
块。因此,我无法在if条件中获得“index”的值,我已尝试使用#和%追加索引的所有内容。任何人都可以提出解决方案吗?
<c:forEach var="index" begin="1" end="<%=a%>" step="1">
<s:if test="index == 1">
<span class="currentpage"><b>${page_id}</b></span>
</s:if>
<s:else>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</s:else>
</c:forEach>
答案 0 :(得分:1)
实际上它是标签中的一些冲突
它应该像
<c:forEach var="index" begin="1" end="<%=a%>" step="1" varStatus="status">
<c:choose>
<c:when test="${page_id==index}">
<span class="currentpage"><b>${page_id}</b></span>
</c:when>
<c:otherwise>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</c:otherwise>
</c:choose>
</c:forEach>
答案 1 :(得分:1)
冲突是在第一篇文章 你正在混音
您提出的解决方案有效,因为 你现在有了
另一个好的解决方案是
一般来说,使用多种技术的标签 预计会有问题。
答案 2 :(得分:0)
测试值不可评估,它只是页面的一个字符串。
编辑,你有使用strut的语法。
添加“%{}”,如下所示:
<s:if test="%{index == 1}">
答案 3 :(得分:0)
使用
test="${index == 1}"
或尝试使用varStatus属性,所以......
<c:forEach var="index" varStatus="status" begin="1" end="<%=a%>" step="1">
<s:if test="${status.count == 1}">
<span class="currentpage"><b>${page_id}</b></span>
</s:if>
<s:else>
<a href="searchAction.html?page_id=${index}&searchString=${searchString}" class="paginglinks">${index}</a>
</s:else>
</c:forEach>