首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >包括另一个JSP文件

包括另一个JSP文件
EN

Stack Overflow用户
提问于 2012-02-02 17:48:26
回答 5查看 499.5K关注 0票数 165

我目前正在尝试学习JSP。我的问题是,目前我使用以下命令来包含页面的页眉和页脚:

<%@include file="includes/header.jsp" %>

<%@include file="includes/footer.jsp" %>

但现在,我也分离了页面内容。因此,如果用户单击一个页面,比如产品,它必须加载位于:includes/pages/products.jsp中的JSP文件。因此,指向用户的链接类似于:<a href="index.jsp?p=products">Products</a>

因此,我必须获取p值并根据它显示页面。

以下是我到目前为止所做的工作。

<%
 if(request.getParameter("p")!=null)
 { 
   String p = request.getParameter("p");
%>    

<%@include file="includes/page_name.jsp" %>

<% 
 }
%>

那么,如何将变量"p“的值放在"page_name”的位置呢?

或者,有没有其他我可以使用的方法?

在PHP中,我们可以使用include()include_once()。我被这个JSP卡住了。:(

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-02 18:07:00

您正在做的是一个静态包含。静态包含是在编译时解析的,因此可能不会使用参数值,而参数值仅在执行时才知道。

你需要的是一个动态的包含:

<jsp:include page="..." />

请注意,您应该使用JSP EL而不是scriptlet。看起来你也在用index.jsp实现一个中央控制器。您应该使用servlet来完成此操作,并从此servlet分派到适当的JSP。或者更好的是,使用现有的MVC框架,如Stripes或Spring MVC。

票数 242
EN

Stack Overflow用户

发布于 2014-05-13 20:26:50

您可以使用这样的参数

<jsp:include page='about.jsp'>
    <jsp:param name="articleId" value=""/>
</jsp:include>

在about.jsp中,您可以获取参数

<%String leftAds = request.getParameter("articleId");%>
票数 26
EN

Stack Overflow用户

发布于 2013-08-20 16:58:53

在页面转换时,include指令中给定的文件内容将按原样“粘贴”到使用JSP include指令的位置。然后,将源JSP页面转换为java servlet类。包含的文件可以是静态资源,也可以是JSP页面。通常,JSP include指令用于包含标题横幅和页脚。

包含jsp文件语法:

<%@ include file="relative url">

示例

<%@include file="page_name.jsp" %>
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9110148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档