Java 尝试在我的jsp模板中使用JSTL进行OR测试
我的JSP中有以下代码,但不太有效:Java 尝试在我的jsp模板中使用JSTL进行OR测试,java,jsp,jstl,el,Java,Jsp,Jstl,El,我的JSP中有以下代码,但不太有效: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <c:set var="contextPath" value="${pageContext.request.contextPath}" /> <c
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:set var="contextPath" value="${pageContext.request.contextPath}" />
<c:set var="requestURI" value="${pageContext.request.requestURI}" />
<c:set var="isPeople" value="${fn:contains(requestURI, '/People/')}" />
<c:set var="isJobs" value="${fn:contains(requestURI, '/Jobs/') || fn:endsWith(requestURI,contextPath+'/')}" />
请帮忙,谢谢 事实上,字符串串联在EL中不起作用 以下方面应起作用:
<c:set var="contextPath" value="${pageContext.request.contextPath}/" />
<c:set var="requestURI" value="${pageContext.request.requestURI}" />
<c:set var="isPeople" value="${fn:contains(requestURI, '/People/')}" />
<c:set var="isJobs" value="${fn:contains(requestURI, '/Jobs/') || fn:endsWith(requestURI, contextPath)}" />
请注意,我将尾部斜杠从
fn:endsWith
移到了
实际上,字符串串联在EL中不起作用
以下方面应起作用:
<c:set var="contextPath" value="${pageContext.request.contextPath}/" />
<c:set var="requestURI" value="${pageContext.request.requestURI}" />
<c:set var="isPeople" value="${fn:contains(requestURI, '/People/')}" />
<c:set var="isJobs" value="${fn:contains(requestURI, '/Jobs/') || fn:endsWith(requestURI, contextPath)}" />
请注意,我将尾随斜杠从
fn:endsWith
移到了
我认为有问题的部分是字符串连接:fn:contains
不是有点弱吗?那么/People/Jobs/
呢?您不想要fn:startsWith
?最终用户通常可以将路径附加到URL的末尾,而不会以任何方式影响Web应用程序。并不真正担心这个特定应用程序的安全性,但这是一个好主意!我认为有问题的部分是字符串连接:fn:contains
不是有点弱吗?那么/People/Jobs/
呢?您不想要fn:startsWith
?最终用户通常可以将路径附加到URL的末尾,而不会以任何方式影响Web应用程序。并不真正担心这个特定应用程序的安全性,但这是一个好主意!非常感谢:这是可行的,但是它可能会进一步影响我的代码中使用“contextPath”变量的地方,这在理想情况下是我希望避免的。非常感谢:这是可行的,但是它可能会进一步影响我的代码中使用“contextPath”变量的地方,这在理想情况下是我希望避免的。