我有一个 index.jsp 负责所有的 css。有这行代码
<jsp:include page="Includes.jsp"></jsp:include>
includes.jsp 是一个存储所有 css 布局的页面。无论如何我可以从另一个jsp页面替换包含页面吗?
我有一个 index.jsp 负责所有的 css。有这行代码
<jsp:include page="Includes.jsp"></jsp:include>
includes.jsp 是一个存储所有 css 布局的页面。无论如何我可以从另一个jsp页面替换包含页面吗?
1.无论如何我可以从另一个jsp页面替换包含页面吗?
不。
但是您可以在这里做一件事,您可以在index.jsp中动态指定包含的页面:
<jsp:include page="${somePage}"></jsp:include>
这里somePage
应该解析为有效路径,应该是请求或页面或会话或上下文的属性。如果您需要更大的灵活性,那么请选择类似 JSTL <c:import>
,它允许从其他 Web 应用程序(或上下文)甚至其他 Web 服务器指定内容,从而为页面作者提供更大的灵活性。
2.我想将index.jsp中的包含页面替换为themes.jsp中的另一个jsp
您可以在index.jsp中设置一个标志并使用 JSTL 进行条件包含:
<c:choose>
<c:when test="${someExpressionHere}">
<jsp:include page="Includes.jsp"></jsp:include>
</c:when>
<c:when test="${someOtherExpression}">
<jsp:forward page="themes.jsp"/>
</c:when>
</c:choose>
在themes.jsp中,您可以包含所需的文件:
<jsp:include page="someOther.jsp"></jsp:include>