JSP技術簡介之三

來源:互聯網
上載者:User

JavaBean是一種基於Java的軟體組件。JSP對於在Web應用中整合JavaBean組件提供了完善的支援。這種支援不僅能縮短開發時間(可以直接利用經測試和可信任的已有組件,避免了重複開發),也為JSP應用帶來了更多的延展性。JavaBean組件可以用來執行複雜的計算任務,或負責與資料庫的互動以及資料提取等。如果我們有三個JavaBean ,它們分別具有顯示新聞、股票價格、天氣情況的功能,則建立包含所有這三種功能的Web頁面只需要執行個體化這三個Bean ,使用HTML表格將它們依次定位就可以了。

為說明在JSP環境下JavaBean的應用,我們建立了一個名為TaxRate的Bean 。它有兩個屬性,即Product(產品)和Rate(稅率)。兩個set方法分別用來設定這兩個屬性,兩個get方法則用於提取這兩個屬性。在實際應用中,這種Bean一般應當從資料庫提取稅率值,此處我們簡化了這個過程,允許任意設定稅率。下面是這個 Bean 的代碼清單:

package tax;
public class TaxRate {
String Product;
double Rate;
public TaxRate() {
this.Product = "A001";
this.Rate = 5;
}
public void setProduct (String ProductName) {
this.Product = ProductName;
}
public String getProduct() {
return (this.Product);
}
public void setRate (double rateValue) {
this.Rate = rateValue;
}
public double getRate () {
return (this.Rate);
}
}

在 JSP 頁面中應用上述 Bean 要用到 <jsp:useBean> 標記。依賴於具體使用的 JSP 引擎的不同,在何處配置以及如何配置 Bean 的方法也可能略有不同。本文將這個 Bean 的 .class 檔案放在 c:jswdk-1.0examplesWEB-INFjspeans ax 目錄下,這裡的 tax 是一個專門存放該 Bean 的目錄。下面是一個應用上述 Bean 的樣本頁面:

<HTML>
<BODY>
<%@ page language="java" %>
<jsp:useBean id="taxbean" scope="application" class="tax.TaxRate" />
<% taxbean.setProduct("A002");
taxbean.setRate(17);
%>
使用方法 1 : <p>
產品 : <%= taxbean.getProduct() %> <br>
稅率 : <%= taxbean.getRate() %>
<p>
<% taxbean.setProduct("A003");
taxbean.setRate(3);
%>
<b> 使用方法 2 : </b> <p>
產品 : <jsp:getProperty name="taxbean" property="Product" />
<br>
稅率 : <jsp:getProperty name="taxbean" property="Rate" />
</BODY>
</HTML>

在 <jsp:useBean> 標記內定義了幾個屬性,其中 id 是整個JSP 頁面內該Bean 的標識, scope 屬性定義了該Bean 的存留時間,class 屬性說明了該 Bean 的類檔案(從包名開始)。

這個JSP頁面不僅使用了Bean的set 和get 方法設定和提取屬性值,還用到了提取 Bean 屬性值的第二種方法,即使用 <jsp:getProperty> 標記。<jsp:getProperty> 中的 name 屬性即為 <jsp:useBean> 中定義的Bean 的 id ,它的 property 屬性指定的是目標屬性的名字。

事實證明,Java Servlet 是一種開發 Web 應用程式的理想構架。JSP 以Servlet 技術為基礎,又在許多方面作了改進。JSP 頁面看起來象普通HTML 頁面,但它允許嵌入執行代碼,在這一點上,它和ASP 技術非常相似。利用跨平台啟動並執行JavaBean 組件, JSP 為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP 必將成為 ASP 技術的有力競爭者。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.