루프에서 JSP의 IF 루프로의 '인덱스 "값을 얻지 못함
문제
내 if 문장은 항상 거짓으로 평가하고 <span>
차단하다. 이로 인해 IF 조건에서 "색인"의 값을 얻을 수 없으므로 # 및 %의 모든 인덱스를 추가하는 모든 것을 시도했습니다. 아무도 해결책을 제안 할 수 있습니까?
<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>
해결책
태그가 약간 충돌합니다.
그것은 같아야합니다
<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>
다른 팁
충돌은 첫 번째 게시물에서 당신이 믹스하고 있다는 것입니다.
- JSTL 태그 (C : Foreach)
- 스트럿 태그 (S : IF)
제안 된 솔루션은 지금 가지고 있기 때문에 작동합니다
- JSTL 태그 (C : Foreach)
- JSTL 태그 다시 (C :시기)
또 다른 좋은 해결책은 것입니다
- 스트럿 태그 (S : 반복자)
- struts 태그 다시 (S : IF)
일반적으로 여러 기술의 태그를 사용하는 것은 문제가 될 것으로 예상됩니다.
사용
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>
테스트 값은 평가할 수 없으며 페이지의 문자열 일뿐입니다.
편집, strut의 구문을 사용하게됩니다.
"%{}"를 추가하십시오.
<s:if test="%{index == 1}">
제휴하지 않습니다 StackOverflow