我已经准备好了一个使用netbeans的静态html页面。 我可以将该页面导入另一个页面,以便不再次重新编写代码,然后进行相应的更改。我可以将我自己的jsp页面导入另一个jsp页面吗?
回答
是的,你可以在另一个JSP导入JSP页面。
<%@ include file="/path/to/yourfile.jsp" %>
或使用<jsp:include>
标准动作,这样的 - -
<jsp:include page="/path/to/yourfile.jsp"/>
<jsp:include page="/jsp/old.jsp"/>
您可以通过使用include
指令,像这样结合了JSP页面到另一个从上面的两个应用程序蟑螂,第一个会导致页面翻译时包含yourfile.jsp
的内容。也就是说,当页面翻译成一个完整的servlet类时,servlet中将包含yourfile.jsp
的内容。因此,只有在您的应用程序启动后仅在第一个用户请求中发生的页面翻译时,这一内容才会发生一次。
如果使用第二种方法,然后在每一个用户请求,从yourfile.jsp
的答复将纳入在运行时,而不是在网页翻译的时间。
当您使用include
指令,你基本上复制和粘贴的目标文件的内容到主文件。如果目标文件包含生成动态内容的任何标签或EL,则这些文件也将成为主文件的一部分,并且它们将相应执行并生成动态内容。那里没问题。
但是这种方法有一些限制。例如,已经使用包括include
一个页面不能改变响应状态代码或设置头,这意味着你不能调用addCookies()
或一些其它报头的设置方法从yourfile.jsp
。如果你这样做,你不会得到一个错误,但你不会得到你所希望的。如果您使用<jsp:include>
,则所有这些都可以在包含的页面中完成,它们将相应地工作。
这两种方法之间存在另一个重要区别。假设你想包含一个文件,这个文件有一些上下文相关的文本,这些文本根据它们被包含的页面而改变。采用include
的方法,您将无法完美地完成此任务。但随着<jsp:include>
方法,你可以做到这一点 -
<jsp:include page="/path/to/yourfile.jsp">
<jsp:param name="myContextSensitiveText" value="Context Sensitive!!" />
</jsp:include>
,这意味着你要指定为yourfile.jsp
一个新的请求参数,然后你就可以从该文件访问并相应地呈现它 -
${param.myContextSensitiveText} - Context Insensitive Text!!
与include
的方法,你将无法做到这一点。
哪一个你应该使用将完全取决于你的设计选择。
你应该记住的另一件事 - 这两种方法将包括目标文件到主文件的内容,虽然在不同的方式。因此,如果它们都包含诸如<html>
或<body>
之类的html元素,则最终呈现页面中将包含两个<html>
和两个<body>
元素,这些元素无效。
编辑
还有就是包括使用JSTL页面中的第三条道路。您可以使用JSTL import
标签用于此目的 -
<%-- You need to declare this at the top of your jsp page--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...............
...............
<c:import url="/path/to/yourfile.jsp" />
这种方法适用于完全相同的方式为<jsp:include>
,但它更强大一点。您可以包含来自应用程序目录之外的页面的内容,即使是在您的容器外也是如此!作为一个例子 -
<c:import url="http://www.google.com" />
这一行将包括谷歌的主页的HTML内容。
如果您需要将参数传递到像<jsp:include>
你包含的页面,那么你可以使用param
标签 -
<c:import url="/path/to/yourfile.jsp">
<c:param name="myContextSensitiveText" value="Context Sensitive!!" />
</c:import>
和访问它以同样的方式 -
${param.myContextSensitiveText} - Context Insensitive Text!!
你可以这样做以这些方式,
<%@ include file="/path/to/yourfile.jsp" %>
或
<jsp:include page="/path/to/yourfile.jsp"/>
或
<c:import url="/path/to/yourfile.jsp" />
- 1. 我该如何调用一个jsp页面到另一个jsp页面
- 2. 连接一个JSP页面到另一个jsp页面
- 3. 我想从JSP页面获取值到多个jsp页面。可能吗?
- 4. 我如何可以重定向到另一个JSP页面
- 5. 从JSP页面调用另一个JSP页面
- 6. 将数据从一个jsp页面发送到另一个jsp页面
- 7. 在我的JSP页面中,通过AJAX将另一个JSP注入页面内的div
- 8. JSP - 如何创建从jsp页面到另一个jsp页面的链接
- 9. 如何让我的jsp页面从JSP
- 10. 可以将变量从一个asp.net页面传递给jsp页面吗?
- 11. 如何使用一个jsp页面中的数据到另一个jsp页面
- 12. 根据登录用户将JSP页面重定向到另一个JSP页面
- 13. 如何在另一个jsp页面上引用一个jsp页面?
- 14. 通过jQuery添加一个JSP页面到另一个jsp页面动态
- 15. 如何避免在另一个jsp页面重新加载一个jsp页面
- 16. 让我登录JSP页面
- 17. 我可以在我的JSP(java服务器页面)中嵌入Silverlight applet吗?
- 18. 我的问题是如何从一个jsp页面指向另一个jsp页面?
- 19. servlet的一个jsp页面
- 20. 我们如何从VB页面调用一个jsp页面?
- 21. 为什么JSP页面无法传递另一个JSP页面中的值?
- 22. 重定向到另一个jsp页面
- 23. JavaScript OnChange加载另一个JSP页面
- 24. 我怎么能从另一个jsp页面通过jQuery在春天打开一个jsp页面mvc
- 25. 从一个jsp页面转发到另一个jsp apge?
- 26. 如何将一个bean从一个JSP页面传递到另一个页面?
- 27. JSP - 知道什么时候我退出一个JSP页面
- 28. 经过一个Jsp页面
- 29. 冻结一个JSP页面
- 30. 如何将jsp中的值从一个页面传递到另一个页面