首页 / 网页编程 / JSP / JSP最佳实践: 组合JavaBean组件和JSP技术
JSP最佳实践: 组合JavaBean组件和JSP技术2011-08-17 IBM Brett McLaughlin使用 JavaBean 和 JSP 参数在 Web 页面之间传递数据简介:Web 架构设计师 Brett McLaughlin 演示了 JavaBean 组件和 JSP 技术的结合如何使您能够在 Web 页面之间存储并传递数据,以及这样做如何能实现更为动态的站点设计。到目前为止,我们在 JSP 最佳实践系列文章 中着重讨论的都是较为基本的主题。在前两篇文章中, 您学习了如何使用 JSP include 机制来将外部内容引入到您的网站或 Web 应用程序。我们使用了两种不 同的 include 伪指令:静态 include 命令和动态 jsp:include 标记。迄今为止,还无需创建父页面(在我们的示例中是一个网站主页面)和所包含内容之间的任何类型的 通信。但是这种方案过于简单。当要对实际 Web 站点或 Web 应用程序接口进行编程时,您通常需要一种 通信机制在父页面和所包含文件之间传递数据。例如,您的网站可能有一个标题或消息是源自主页面的, 并需要将它提供给页面头或页面尾。在这篇文章中,您将学习如何在页面之间传递数据,以及如何在所包 含的页面中使用该数据。注:本系列文章中的所有最佳实践都基于 JavaServer Pages 技术。要运行其中任何一个实践示例, 需要在本地机器或测试服务器上安装符合 JSP 技术的 Web 容器。您还需要使用文本编辑器或 IDE 来对 JSP 页面进行编码。用于存储数据的 JavaBean 组件让我们研究一下这样一个网站:其中的每个页面都有简短的“标语”(比如“Books: A shelf full of learning”或“CDs: Music worth listening to”)和标题。父页面(有时叫做 主页面)确定了每 个页面的标语,而页面头(包含的页面)要处理 HTML 以输出该标语。为使该方案工作,主页面必须能够 将标语传递到页面头,而且页面头必须能够接受页标题并按请求显示它。首先我们需要某种用于存储被传递数据的对象。碰巧的是(并非偶然)JavaBean 组件既适合该目的又 与 JSP 技术非常匹配。bean 只需要用取值方法(accessor)和赋值方法(mutator)来处理数据。您可 能从其它 Java 编程经历中得知, get() 是个取值方法,因为它访问数据,而 set() 是个赋值方法,因 为它修改数据。清单 1 显示了我们所需的那种 bean 的代码。 PageHeaderInfo bean 包含了有关网站页面头的信息 。清单 1. PageHeaderInfo JavaBeanpackage com.newInstance.site.beans;
import java.io.Serializable;
public class PageHeaderInfo implements Serializable {
/** The title of the page */
private String pageTitle;
/** The slogan of the page */
private String pageSlogan;
public String getPageTitle() {
return pageTitle;
}
public void setPageTitle(String pageTitle) {
this.pageTitle = pageTitle;
}
public String getPageSlogan() {
return pageSlogan;
}
public void setPageSlogan(String pageSlogan) {
this.pageSlogan = pageSlogan;
}
}