2

我需要查看变量是否以键“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 错误

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

原始文件: http: //pastebin.com/ach8PXY9

4

3 回答 3

5
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>

<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>'
于 2013-12-10T23:10:05.540 回答
2

有一个 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

于 2013-12-10T23:00:21.917 回答
0

也可以:

if (channelName != null && channelName.indexOf("ef") == 0) {
    %><div class="error"> This Channel url Portected!</div><%
}
于 2015-04-24T06:50:16.833 回答