我目前正在尝试学习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卡住了。:(
发布于 2012-02-02 18:07:00
您正在做的是一个静态包含。静态包含是在编译时解析的,因此可能不会使用参数值,而参数值仅在执行时才知道。
你需要的是一个动态的包含:
<jsp:include page="..." />
请注意,您应该使用JSP EL而不是scriptlet。看起来你也在用index.jsp实现一个中央控制器。您应该使用servlet来完成此操作,并从此servlet分派到适当的JSP。或者更好的是,使用现有的MVC框架,如Stripes或Spring MVC。
发布于 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");%>
发布于 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" %>
https://stackoverflow.com/questions/9110148
复制相似问题