欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JSP实践:使用JSP include机制改进外观(1)(2)

来源: javaer 分享于  点击 17032 次 点评:109

JSP include

JSP include 伪指令与其 SSI 对等伪指令极其相似。清单 3 显示了清单 1 所示的 SSI 伪指令的 JSP 对等伪指令。任何支持 JSP 的 Web 容器都将处理该 JSP 页的显示同样,请参阅参考资料一节,以获得链接)。应该将该文件另存为 test-include.jsp。

清单 3. JSP include 伪指令 

<![CDATA[
<%@ page language="java" contentType="text/html" %>
<html>
<head>
<title>JSP include element test</title>
</head>
<body>
This content is statically in the main JSP file.<br />
<%@ include file="included.html" %>
</body>
</html>
]]>

include 伪指令使将统一的头文件和脚注文件合并到您的站点变得非常容易。清单 4 显示了具有几个被包含文件的主索引页。

清单 4. 主索引页的 JSP include 伪指令

<![CDATA[
<%@ page language="java" contentType="text/html" %>
<html>
<head>
<title>newInstance.com</title>
<meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" />
<link href="/styles/default.css" rel="stylesheet" 
type="text/css" />
</head>

<body>

<%@ include file="header.jsp" %>
<%@ include file="navigation.jsp" %>
<%@ include file="bookshelf.jsp" %>
<%@ include file="/mt-blogs/index.jsp" %>
<%@ include file="footer.jsp" %>

</body>
</html>
]]>

通过查看代码,您将了解有关如何使用 JSP include 的各种方法。您还应该试验一下该代码,让自己掌握其工作原理。

添加动态内容

除了如头、脚注和导航文件之类的静态内容外,清单 4 还包括对 Weblog/mt-blogs/index.jsp)的调用,这涉及动态内容的主题。如同 SSI include 伪指令那样,当 JSP include 机制应用于动态内容时会出现问题。可以通过使用 JSP include 伪指令来引入动态内容,但将无法获得对该内容的更改。这是因为 Web 容器将被包含文件作为原始包含)页面的一部分读取。容器将结果高速缓存为单个文件,而不是多个 JSP 组件。因为 Web 容器不会针对更改去轮询被包含文件,所以它不会知道有任何更改发生,它将自动显示高速缓存的页面而不是刷新的页面。要了解它的工作原理,我们将做一个简单的练习。首先,将已保存的 included.html 页面更新为清单 5 中所示的那样。

清单 5. 修改包含的内容 

<![CDATA[
This content is in another file, included.html.
<br />
Some new content...
]]>

接下来,保存这些更改,导航至 test-include.jsp 文件,刷新浏览器。您将注意到浏览器中没有显示 included.html 中的新内容。被包含文件的内容在更改发生之前就被高速缓存了,所以它不会显示出来。如果您的站点包含动态内容或可能被频繁修改的内容,那么这会是一个问题。幸运的是,有一个变通方法。在下一个部分中,我将向您演示如何使用 标记将动态内容加入 Web 页面。在此之前,请参考参考资料一节并试验这里提供的代码,我将在网上与您再见。

  1. 关于提高Jsp技能的几种简单有效的方法


相关栏目:

用户点评