« 上一篇下一篇 »

JSP提供合并数据的方式

HTML本身没有直接在其输出中包含来自其他文件的数据方式。这很不幸,因为大量的HTML标记对一个典型的web站点中大量的页面都是通用的——公司标志、版权声明、导航、链接和其他特性。除了文本和图像为静态资源,也需要包含动态内容。JSP提供合并这些数据的两种方式:

1、<%@ include%>伪指令,用于在JSP源码被转换成JAVA servlet源码和被编译前将静态文本复制到其中。典型情况下,文本为HTML代码,但它可以是在JSP页面内显示的任意内容。被包含的文件必须是相对的URL文档,即它只包含路径信息,没有协议或服务器信息。因此,只有当前servlet上下文中的资源可以用这种方式被包含。如果文件以”/”开始,它被认为是相对servlet上下文根的绝对路径。否则,文件名被认为是相对于当前JSP页面的。

2、<jsp:include>行为,使得servlet引擎调用另一URL,生成带有最初JSP页面的输出。被包含的资源名必须是相对的URL文档,即它只包含路径信息,以在include伪指令中文件名同样的方式映射到当前servlet上下文中。如果文件名以”/”开始,它被认为是从servlet上下文根开始的一个路径。否则,文件名被认为是包含调用JSP的目录的相对路径。在构建一种思维模式时关键的一点是<%@ include%>伪指令在编译时只执行一次,而<jsp:include>行为每次进行请求时都执行。

« 上一篇下一篇 »