JSP最佳实践: 使用JSP include机制改进外观

简介:本文是新的 JSP 最佳实践系列文章的第一部分,它介绍了 JavaServer Pages include 机制。 请跟随 Java 编程专家 Brett McLaughlin 学习如何使用 include 将静态的头文件和脚注文件加入您的 网站或 Web 应用程序页面中。

欢迎阅读 Java 专区中最新的 最佳实践系列文章。如果您看过先前的系列文章,那么您会知道最佳实 践旨在让您快速了解各种 Java 技术的有用方面。这一系列的最佳实践专门讨论 JavaServer Pages(JSP )技术,它是核心 J2EE 技术之一。

简而言之,JSP 技术是在 Java 平台上构建 Web 页面或 Web 应用程序接口的工具。JSP 技术允许我 们做如下事情:动态响应请求数据、显示复杂的 XML 和 HTML 以及创建生动有趣、动态驱动的网站。在 本系列中,您将学习一些用 JSP 技术构建网站的基础知识。我将为您介绍最常用的 JSP 机制,通过这些 机制,您将了解基本的 Web 开发技术,如制作模板、操作动态内容、图像托管、创建实用程序代码库等 。

本文是这一系列文章的第一篇,在本文中,我们将集中讨论 JSP include 机制,该机制允许我们“拉 ”入本地 HTML 页面的内容。我们将首先介绍有关 Web 页面 include 发展的一些背景知识,尤其是框架 和服务器端 include 的使用。然后,我将向您演示如何使用 JSP include 机制将统一的头文件和脚注文 件添加到 Web 页面或 Web 应用程序屏幕。

更好的外观

为 Web 页面创建一致的设计和布局是确保获得专业化外观的最容易方法之一。您或许看过足够多的网 站,知道单个站点中的大部分页面都共用统一的页面头、页面尾以及某种类型的导航栏。在设计良好的站 点上,这些元素将在每个页面上呈现相同的布局、内容和功能,而主面板(通常称为 内容窗格)会随着 每个视图而变化。

以前,这种布局几乎完全由框架和框架集实现。每段静态内容被放置在一个框架中,而页面的主体内 容被放置在中间框架中。框架的麻烦就是不同的浏览器常常会以不同方式显示它们,使它们的外观不一致 。使用框架从内部页面链接外部站点则比想像的更加困难。原本是想允许用户在不离开站点的情况下查看 外部内容,但结果往往不一致。用户最终看到的是整个站点被挤进小得多的框架中,更糟的是,您的站点 最终会嵌套在另一个站点框架中。这种混乱驱使 Web 设计者寻找一种更佳的解决方案。服务器端 include(server-side include,SSI)就是一种。

服务器端 include

不久前,SSI 还是用于创建共享内容的最受欢迎的选项之一。简单的 SSI 伪指令允许您创建包含另一 个页面内容(如头和脚注文件)的页面,如清单 1 中所示。

清单 1. 正使用的 SSI

<html>
   <head>
    <title>Simple SSI test</title>
   </head>
   <body>
    This content is statically in the main HTML file.<br />
    <!--#include virtual="included.html" -->
   </body>
</html>

我们不久将使用该文件来做一个练习。目前,您应该将它另存为 test-ssi.shtml。在大多数设置中, SSI 文件必须以 .shtml 结尾,这让 Web 服务器知道将它们解析为 SSI 伪指令。清单 2 显示了名为 included.html 的包含文件的内容。

时间: 2024-08-30 09:04:45

JSP最佳实践: 使用JSP include机制改进外观的相关文章

JSP最佳实践:使用JSP include机制改进外观

本文是新的 JSP 最佳实践系列文章的第一部分,它介绍了 JavaServer Pages include 机制.请跟随 Java 编程专家 Brett McLaughlin 学习如何使用 include 将静态的头文件和脚注文件加入您的网站或 Web 应用程序页面中.欢迎阅读 Java 专区中最新的最佳实践系列文章.如果您看过先前的系列文章,那么您会知道最佳实践旨在让您快速了解各种 Java 技术的有用方面.这一系列的最佳实践专门讨论 JavaServer Pages(JSP)技术,它是核心

JSP最佳实践: 用jsp:include控制动态内容

简介:本文是 Java Brett McLaughlin 继第一篇 JSP 最佳实践文章后的后续文章,在文中,作者向 您演示了如何扩展 JSP 技术中用于动态内容的包含功能.了解静态 include 伪指令和动态 jsp:include 元素之间的差异,搞清楚如何混合搭配这二者以获取最优性能. 在新的 JSP 最佳实践系列的前一篇文章中,您了解了如何使用 JSP include 伪指令将诸如页眉.页 脚和导航组件之类的静态内容包含到 Web 页面中.和服务器端包含一样,JSP include 伪

JSP 最佳实践:用 jsp:include 控制动态内容

include|js|动态|控制 本文是 Java"知情人士"Brett McLaughlin 继第一篇 JSP 最佳实践文章后的后续文章,在文中,作者向您演示了如何扩展 JSP 技术中用于动态内容的包含功能.了解静态 include 伪指令和动态 jsp:include 元素之间的差异,搞清楚如何混合搭配这二者以获取最优性能.在新的 JSP 最佳实践系列的前一篇文章中,您了解了如何使用 JSP include 伪指令将诸如页眉.页脚和导航组件之类的静态内容包含到 Web 页面中.和服

JSP 最佳实践:组合 JavaBean 组件和 JSP 技术

js JSP 最佳实践:组合 JavaBean 组件和 JSP 技术 使用 JavaBean 和 JSP 参数在 Web 页面之间传递数据级别:入门Brett McLaughlin(brett@oreilly.com)作家,O'Reilly and Associates2003 年 7 月 Web 架构设计师 Brett McLaughlin 演示了 JavaBean 组件和 JSP 技术的结合如何使您能够在 Web 页面之间存储并传递数据,以及这样做如何能实现更为动态的站点设计.到目前为止,我

JSP最佳实践: 组合JavaBean组件和JSP技术

使用 JavaBean 和 JSP 参数在 Web 页面之间传递数据 简介:Web 架构设计师 Brett McLaughlin 演示了 JavaBean 组件和 JSP 技术的结合如何使您能够在 Web 页面之间存储并传递数据,以及这样做如何能实现更为动态的站点设计. 到目前为止,我们在 JSP 最佳实践系列文章 中着重讨论的都是较为基本的主题.在前两篇文章中, 您学习了如何使用 JSP include 机制来将外部内容引入到您的网站或 Web 应用程序.我们使用了两种不 同的 include

JSP最佳实践: 自定义标记中的错误处理

简介:在自定义标记中引用更多交互性的同时,也会增加错误出现的可能性,尤其是以非法参数形式 出现的错误.在本期的 JSP最佳实践中,Brett McLaughlin 向您展示了如何在源代码中捕获和忽略 IllegalArgumentException 异常. 在我们讨论 JSP 自定义标记的时候,我们一直都设法回避了错误处理的重要细节.在我们已经推出的 JSP 最佳实践系列的前面一半的文章中,大多数讲的都是 JSP 容器提供的功能,比如说 param . out 和 import 标记.在这些情况

JSP最佳实践: 使用JSTL来更新JSP页面

简介:JSP 标准标记库(Standard Tag Library,JSTL)是一组以标准化格式实现许多通用的Web站点 功能的定制标记.在 JSP 最佳实践这一部分,Brett McLaughlin将向您介绍JSTL,阐述如何转变JSP页面 来使用高功能性的标记. JSP技术的优势之一在于其定制标记库工具.除了核心JSP标记,如 jsp:include 之外,定制标记库工 具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作.一旦您创建了定制标记库(简称 taglib),当您扩展项目或转

JSP最佳实践: 为您的JSP标记创建自定义属性

简介:BrettMcLaughlin 继续他的 JSP 最佳实践系列,这次他将用一个属性来扩展自定义的时间戳标 记( lastModified ),这个属性让页面作者可以选择他们自己的时间戳格式. 上一期的 JSP 最佳实践介绍了在JSP页面中使用自定义标记库的基础知识.在那一期可以学到如何定 义简单的标记并通过标记库描述符(tag library descriptor,TLD)让其他 JSP 作者可以使用该标记. 在这个星期,我们将以您已经知道的有关自定义标记的知识为基础.我们上次采用的实例标

JSP最佳实践: 将自定义标记库打包

简介:将标记库存放在本地文件系统中的确有利于内部(in-house)开发和测试,但是这并非永远都 是好的解决方案.自定义标记库应该能够被广泛地访问,也就是说,必须以一种标准的和安全的方式来发 布它们.BrettMcLaughlin 解释了如何将您的自定义标记库打包到 JAR 文件,以便在任何 JSP 兼容的 Web 容器中更容易地维护.发布和安装它们. 到目前为止,我们在本系列中讲到的都是自定义标记库在本地文件系统中的情况,在这种情况下,我 们可以很容易地访问和操作这些自定义标记库.然而,虽然本