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

How to concat String and attribute in JSP inside fn:contains

    <% 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>  
    <% } %>

这是代码片段,它不打印

因为我认为有'Log_${i}' 的问题。它在我的 test.key 中什么也没找到。你知道如何在 c:when 测试中连接字符串和属性吗?顺便说一句,我的测试地图中有 Log_1 和 Log_2。但是它没有找到任何东西,即使它在那里。

没关系,我已经解决了。

      <% 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>  
    <% } %>