在这个例子中,我们将学习如何使用<jsp:include>动作。此操作可用于将资源动态地包含到我们的JSP页面中。例如,资源可以是另一个JSP页面,一个servlet或一个静态html页面。但是要使其能够作为JSP页面(例如接受参数)进行处理,我们必须使用.jspas作为文件扩展名。如果我们使用其他扩展名(例如).jspf,它将被处理为静态页面。
要注意的另一件事是,使用该<jsp:include>操作将在请求时间处理页面包含。这就是为什么我们可以使用将参数传递到包含的页面的原因<jsp:param>。可以通过从request对象获取参数或使用表达式语言变量来读取该值param。
但是,如果我们使用<%@ include %>伪指令,则将页面转换为Servlet时就会包含该页面。请参阅以下有关<%@ include %>指令的示例:如何将页面片段包含到JSP中?
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <!DOCTYPE html> <html> <head> <title>JSP - Include Demo</title> </head> <body> Lorem Ipsum <jsp:include page="jspf/footer.jsp"> <jsp:param name="year" value="2014"/> </jsp:include> </body> </html>
以下是我们footer.jsp页面的内容。在此页面中,我们显示页脚信息以及从request对象读取的参数。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <hr/> Copyright © ${param["year"]} Nhooo.org. All rights reserved.
此示例将在浏览器中提供以下结果: