Java JSP包含动态页面
我的一些include页面存储在Servlet上下文中。我想在JSP中动态地包含一些页面,但我不能。 我所做的是:Java JSP包含动态页面,java,jsp,servlets,Java,Jsp,Servlets,我的一些include页面存储在Servlet上下文中。我想在JSP中动态地包含一些页面,但我不能。 我所做的是: <jsp:include page="<%=(String)application.getAttribute("headURL")%>"/> 但它给了我一个与引号有关的错误。我已尝试将其更改为: <jsp:include page="<%=(String)application.getAttribute(\"headURL\")%>"
<jsp:include page="<%=(String)application.getAttribute("headURL")%>"/>
但它给了我一个与引号有关的错误。我已尝试将其更改为:
<jsp:include page="<%=(String)application.getAttribute(\"headURL\")%>"/>
但这两者都不起作用
我怎么能这样做
谢谢 您可以使用表达式语言访问URL。所以你不需要逃避引用 下面是一个可以执行此操作的示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set value="/WEB-INF/jspf/head.jspf" var="headURL" scope="application" />
<jsp:include page="${headURL}"></jsp:include>
</body>
</html>
您只需要:
<jsp:include page="${headURL}"></jsp:include>
以及相对于网络内容的路径。您可以使用表达式语言访问URL。所以你不需要逃避引用 下面是一个可以执行此操作的示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:set value="/WEB-INF/jspf/head.jspf" var="headURL" scope="application" />
<jsp:include page="${headURL}"></jsp:include>
</body>
</html>
您只需要:
<jsp:include page="${headURL}"></jsp:include>
以及相对于网络内容的路径。请执行以下操作:
<jsp:include page="${headURL}"></jsp:include>
首先,Servlet容器将在页面范围、请求范围、会话范围和应用程序范围(您的案例)中查找headURL
在调用JSP之前,必须在应用程序范围的某个位置设置headURL
但是我认为它必须是/WEB-INF/jspf/head.jspf(应用程序名称需要删除)这样做:
<jsp:include page="${headURL}"></jsp:include>
首先,Servlet容器将在页面范围、请求范围、会话范围和应用程序范围(您的案例)中查找headURL
在调用JSP之前,必须在应用程序范围的某个位置设置headURL
但是我认为它必须是/WEB-INF/jspf/head.jspf(需要删除应用程序名)headURL的值是多少。它是一个真实的URL还是一个JSP文件的路径?它可能是一个JSP文件的路径,如:/Project/WEB-INF/jspf/head.jspfheadURL的值是多少。它是一个真实的URL还是一个JSP文件的路径?它可能是一个JSP文件的路径,如:/Project/WEB-INF/jspf/head.jspf,但我不想在文件中写入URL“/WEB-INF/jspf/head.jspf”。我想从上下文属性中读取它。添加了澄清。但我不想在文件中写入URL“/WEB-INF/jspf/head.jspf”。我想从上下文属性中读取它。添加了澄清。