JSTL fn:包含没有正确比较值

问题描述

我正在创建一些 JTSL 逻辑,我目前有这个代码

<c:set var="isExternalURL" value="false"/>
<c:set var="getReferer" scope="request" value="${request.getHeader('referer')}"/>
<c:set var="refererIsNotNull" scope="request" value="${not empty getReferer}"/>
<c:set var="getCurrentDomain"  value="${request.getServerName()}" />

<c:if test="${not fn:containsIgnoreCase(refererIsNotNull,getCurrentDomain)}">
    <c:set var="isExternalURL" value="true"/>
</c:if>

我需要 isExternalURL 始终为 false,并且仅在值不匹配时才更改为 true,值为 refererIsNotNullgetCurrentDomain 它似乎总是返回相反的我想要的是。假设我从 disney.com 访问我的网站,refererIsNotNull 设置为 disney.com,而我当前的 URL 是 http://example.com,它会告诉我这是一个外部 URL,我期望,但是当我从内部链接点击该网站时,说 http://example.com/contact-me,refererIsNotNull 现在是 example.com,它告诉我这也是一个外部 URL。

有人能指出我正确的方向吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)