JSP最佳實務: 組合JavaBean組件和JSP技術

來源:互聯網
上載者:User

使用 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 JavaBean

package 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;
   }
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.