gpt4 book ai didi

jsp:include 不使用表达式语言(JSP 2.5 版,启用 EL)

转载 作者:行者123 更新时间:2023-12-04 22:45:31 34 4
gpt4 key购买 nike

我读过: Expression Language in JSP not working但略有不同。

使用 EL 来引用文件效果很好,如下所示。

   <link rel="stylesheet" type="text/css" 
href="${pageContext.request.contextPath}/css/global.css"/>

然而,当尝试使用带有 EL 表达式的 JSP 包含标记时:

<jsp:include page="${pageContext.request.contextPath}/header.jsp" />

这将返回 http 500。

org.apache.jasper.JasperException: javax.servlet.ServletException: File &quot;/head_first/header.jsp&quot; not found
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:527)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

我也确保启用了 EL。

<%@ page isELIgnored ="false" %>

我的tomcat版本是6.0,web.xml定义JSP是2.5

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

有谁知道为什么 EL 仅在 jsp:include 标记中使用时不工作?

最佳答案

EL 工作正常。上下文路径已打印。但是您不需要前缀 jsp:include page 上下文路径。它已经隐含地相对于上下文路径。即不可能包含来自其他上下文的文件。您的方法将最终包含在 /head_first/head_first/include.jsp 的文件中,因此该文件不存在。

关于jsp:include 不使用表达式语言(JSP 2.5 版,启用 EL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498375/

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