5

我可以弄清楚lastIndexOf()JSTL 或 JSP 的功能吗?我刚刚
int indexOf(java.lang.String, java.lang.String)在 JSTL 中找到了该方法。还是有办法解决这个问题?

4

3 回答 3

5

可以尝试 :

<c:set value="${fn:split('fooBar/BarFoo/Bar','/')}" var="separatorPosition" />
     <c:out value="${separatorPosition[fn:length(separatorPosition)-1]}">
   </c:out>
于 2017-12-19T12:12:16.893 回答
1

这是一个似乎对我有用的。将 myStr 和 lastIndexOf 修改为您想要的。

    <!-- Prepare variables -->
    <c:set var="myStr" value="this_is my. string_ok"/>
    <c:set var="lastIndexOf" value="_"/>
    <c:set var="lastIndexFoundAt" value=""/>
    <c:set var="myStrSize" value="${fn:length(myStr) }"/>
    <c:set var="indexIn" value="0"/>
    <c:set var="indexOut" value="1"/>

    <!-- iterate through string -->
    <c:forEach var="i" begin="0" end="${myStrSize}">

            <c:if test="${indexOut <= myStrSize }">
                <c:set var="char" value="${fn:substring(myStr, indexIn, indexOut) }"/>
                <c:if test="${char == lastIndexOf }">
                    <c:set var="lastIndexFoundAt" value="${i}"/>
                </c:if>

                <c:set var="indexIn" value="${indexIn + 1 }"/> <!-- increment -->
                <c:set var="indexOut" value="${indexOut + 1 }"/> <!-- increment -->
            </c:if>

    </c:forEach>

测试索引,使用

    <c:out value="${lastIndexFoundAt}/>
于 2014-08-05T19:21:22.340 回答
1

除了最后一个之外,如何使用fn:split和总和所有组件的长度(fn:length)。
但在后端执行所有逻辑要好得多,只需向您的对象添加其他属性。

于 2013-09-04T05:02:01.863 回答