JSP, если переменная начинается с

Мне нужно посмотреть, если переменная начинается с ключей "ef", таких как ef1, efabc, efanythink... и, если да, показать сообщение об ошибке, я прошёл здесь смесь php и jsp, конечно, неверно и с ошибками, я не понимаю jsp:

<c:if test="${empty channel.getChannelName()}">
<%
if (string_starts_with(${channelName}, 'ef')) { header("location:http://google.com"); }

или покажи эту ошибку

<div class="error"> This Channel url Portected!</div>

Исходный файл: http://pastebin.com/ach8PXY9

3 ответа

<c:if test='${fn:startsWith(channel.channelName, "ef")}'>

 ...

</c:if>

<c:if test='${not fn:startsWith(channel.channelName, "ef")}'>

 ...

</c:if>

ИЛИ вы можете использовать

'<c:choose> <c:when>'

Есть метод JSTL для этого!

<c:choose>
    <c:when test="${fn:startsWith(channel.getChannelName(), "ef")}">
        <script type="text/javascript">window.location.replace("http://google.com/");</script></c:when>
    <c:otherwise>
        <div class="error"> This Channel url Portected!</div>
    </c:otherwise>
</c:choose>

http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/fn/tld-summary.html

Также возможно:

if (channelName != null && channelName.indexOf("ef") == 0) {
    %><div class="error"> This Channel url Portected!</div><%
}
Другие вопросы по тегам