JSTL forEach以及代码未正确执行

时间:2016-05-28 20:40:25

标签: html jsp loops jstl jsp-tags

我为分配编写了这段代码,但似乎没有正确执行。

<c:if test="${counter<fn:length(passangername[status.index])}"> 
                <c:redirect url="confirmbooking.jsp" >
                    <c:param name="error" value="Invalid Data. Please try again!"/>
                </c:redirect>
        </c:if>

我打印计数器值以检查循环是否正常工作,并且在第一次迭代期间,它似乎工作正常,但计数器值未在第二次迭代中打印,依此类推。我知道第二次迭代发生,因为我可以看到其他东西打印。结果,&#34; if&#34;最后部分不起作用,这就是它需要修复的原因。注意:除此之外的所有其他工作正常。我在这做错了什么?请帮忙!

附加注意:如果所有输入仅为字母表,例如Saurav或John,则代码工作正常,但如果第二个输入是字母和数字的组合,则代码不起作用。

<c:set var="alphaupper" value="${['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']}"/>
<c:set var="alphalower" value="${['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ']}"/>

<c:forEach begin="0" end="${param.looper-1}" varStatus="status">
        <c:set var="counter" value="0"/>
        <c:out value="${passangername[status.index]}"/> &nbsp; <c:out value="length: ${fn:length(passangername[status.index])}"/><br>

                <c:forEach var="i" begin="0" end="${fn:length(passangername[status.index])}" step="1">
                    <c:forEach var="j" begin="0" end="${fn:length(alphaupper)}" step="1">
                        <c:if test="${fn:substring(passangername[status.index], i, i + 1)==alphaupper[j] or fn:substring(passangername[status.index], i, i + 1)==alphalower[j]}">
                            <c:set var="counter" value="${counter=counter+1}"/> 
                        </c:if>
                    </c:forEach>
                </c:forEach>

        <c:out value="counter: ${counter}"/><br> 

            <c:if test="${counter<fn:length(passangername[status.index])}"> 
                    <c:redirect url="confirmbooking.jsp" >
                        <c:param name="error" value="Invalid Data. Please try again!"/>
                    </c:redirect>
            </c:if> 

        <c:set var="records" value="${records=records+1}"/> 
</c:forEach>

0 个答案:

没有答案