3
c : if 테스트는 항상 실패하고 루프 내부로 들어 가지 않습니다. 나는조건부 체크 인 c : 항상 실패한 경우
<s:decorate template="/layout/display-text.xhtml">
<c:set var="array" value="#{_mybean.value}"/>
<c:set var="space" value="#{fn:split(array, ' ')}"/>
<c:set var="len" value="#{fn:length(space)}"/>
<h:outputText value="total length = #{len}"/><br/>
<c:forEach begin="0" end="5" var="index">
<h:outputText value="index = #{index}, value = #{space[index]}"/><br/>
<c:set var="val" value="#{space[index]}"/>
<c:if test="#{fn:startsWith(val, 'GAP')}">
<h:outputText value="Found keyword parameter GAP" /><br/>
</c:if>
</c:forEach>
</s:decorate>
다음 코드를 변경했습니다. xmlns : c = "http://java.sun.com/jsp/jstl/core 모든 디버그 명령문 (h : outputText)은 나를 위해 빈 값을 출력합니다. 모든 fn : 함수가 여기서 제대로 작동하는지 확인하십시오. 그 밖의 무엇이 나는 여기에 없습니까? – Achaius
http://www.ilikespam.com/blog/c:foreach-vs-ui:repeat-in-facelets. 위에서 언급 한 것처럼 c : forEach와 c : if를 제거하면 값이 페이지에 적용될 때가 아니라 뷰가 빌드 될 때 평가됩니다. – mtpettyp