gpt4 book ai didi

java - 尝试在我的 jsp 模板中使用 JSTL 进行 OR 测试

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:58 25 4
gpt4 key购买 nike

我的 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: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+'/')}" />

基本上,isPeople 工作正常 - 它会检查用户是否在我的任何 url 中包含“/People/”的页面上,并稍后使用它来显示相应的子菜单。

现在我希望 isJobs 为 true,如果它们位于“/Jobs/*”或应用程序根目录,但我的简单 ||无法编译,它给了我这个错误:

An exception occurred processing JSP page /sitemesh/main.jsp at line 7

请帮忙,谢谢!

最佳答案

事实上,字符串连接在 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 中的尾部斜杠移开。到<c:set value> .

关于java - 尝试在我的 jsp 模板中使用 JSTL 进行 OR 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3349357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com