如何在fn:contains内将JSP中的字符串和属性连接起来

0qx6xfy6  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(146)
<% for(int i = 1; i <= Integer.valueOf("" + pageContext.getAttribute("testCount")); i++)  {
    request.setAttribute("i", i); %>   
    <c:choose>   
    <c:when test="${fn:contains(test.key, 'Log_${i}')}">
            <p class="test-version"><c:out value="${test.value}"></c:out></p>
    </c:when>
    <c:when test="${fn:contains(test.key, '_${i}') && fn:contains(! test.key, 'Log_')}">
        <p class="test-headers"><c:out value="${test.key}"></c:out></p>
        <p class="test-val"><c:out value="${test.value}"></c:out><br></p>
     </c:when>
   </c:choose>  
    <% } %>

这是程式码片段,而且不会打印<c:out value="${test.value}"></c:out>
因为我认为'Log_${i}'有问题。它在我的test. key中找不到任何东西。你知道在测试时如何在c:中连接字符串和属性吗?顺便说一句,我在我的测试Map中有Log_1和Log_2。但是它找不到任何东西,即使它在那里。

kyxcudwk

kyxcudwk1#

算了,我已经解决了。

<% for(int i = 1; i <= Integer.valueOf("" + pageContext.getAttribute("testCount")); i++)  {
    request.setAttribute("logplus_i", "Changelogs_Version_Log_"+i);
    request.setAttribute("underplus_i", "_"+i); %>   
    <c:choose>   
    <c:when test="${fn:contains(test.key, logplus_i)}">
            <p class="test-version"><c:out value="${test.value}"></c:out></p>
    </c:when>
    <c:when test="${fn:contains(test.key, underplus_i) && not fn:contains(test.key, 'Log_')}">
        <p class="test-headers"><c:out value="${test.key}"></c:out></p>
        <p class="test-val"><c:out value="${test.value}"></c:out><br></p>
     </c:when>
   </c:choose>  
    <% } %>

相关问题