JSP六種主要動作

來源:互聯網
上載者:User
JSP動作主要有以下六種:

1、 <jsp:useBean>

javaBean是特殊類型的java類,它與普通java類相比主要區別是包含了兩種特殊的方法:set…(設定屬性的方法)、get…(取屬性值的方法)。
<jsp:useBean>動作用來尋找或執行個體化一個jsp頁面使用的JavaBeans組件。
在程式中可把邏輯控制、資料庫操作放在javabeans組件中,然後在jsp檔案中調用它,這樣可增加程式的清晰度及程式的可重用性。

· 文法如下:

<jsp:useBean id="beanInstanceName"
scope="page | request | session | application"
class="package.claaa"
type="package.claaa"
other elements
/>

· 屬性:

1) id="beanInstanceName"
用來綁定Bean執行個體的變數。
2) class|type="package.claaa"
表明該bean具體是對哪個類的執行個體化。
3) scope="page | request | session | application"
表示該bean的有效範圍。
Page:執行個體的有效範圍是當前頁面。
Request:執行個體的有效範圍是一個單獨客戶請求的生命週期內。
Session:執行個體的有效範圍是整個使用者會話的生命週期內。
Application:執行個體的有效範圍是應用的生命週期內。

2、 <jsp:setProperty>

該動作的含義是使用bean中相應的set()方法設定一個或多個屬性的值,值的來源是通過value屬性明確給出,或者利用request對象中相應的參數。
假設某個bean有一個string類型的可被JSP檔案使用的屬性myProperty,則它必須有一個public方法setMyProperty(string value),<jsp:setProperty>動作使用的就是該方法。

· 文法如下:

<jsp:setProperty name="beanInstanceName"
property="*" | property ="propertyName"
value="具體的值"
/>

· 屬性:

1) name="beanInstanceName"
這個屬性是必須的,用來表明對哪個bean執行個體執行下面的動作,這個值和動作<jsp:useBean>中定義的id必須對應起來,包括大小寫都必須一致。
2) property="*" | property ="propertyName"
這個屬性是必須的,用來表示要設定哪個屬性。如果property的值是"*",表示使用者在可見的JSP頁面中輸入的全部值,儲存在匹配的bean屬性中。匹配的方法是:bean的屬性名稱必須與輸入框的名字相同。
3) value="具體的值"
它用來指定bean的屬性的值。

3、 <jsp:getProperty>

這個動作提取指定bean屬性的值,轉換成字串,然後輸出。該動作實際是調用了bean的get()方法。
按上文提到的某個bean有一個string類型的可被JSP檔案使用的屬性myProperty,它必須有一個傳回型別為string的public方法getMyProperty()。<jsp:getProperty>使用的就是這個方法。

文法如下:

<jsp:getProperty name="beanInstanceName" property="propertyName"/>

· 屬性:

1) name="beanInstanceName"
這個屬性是必須的,用來表明對哪個bean執行個體執行下面的動作,這個值和動作<jsp:useBean>中定義的id必須對應起來,包括大小寫都必須一致。
2) property="*" | property ="propertyName"
這個屬性是必須的,用來表示要擷取哪個屬性。

· 在JSP中使用 Java Bean的一個例子

test.jsp的代碼如下:
<html>
<head>
<title>JSP中使用 Java Bean的測試</title>
</head>
<body>
<jsp:useBean id="test" class="SimleBean" />
<jsp:setProperty name="test" property="message" value="Hello JSP"/>
<p>訊息:
<jsp:getProperty name="test" property="message" />
</body>
</html>

解釋:

<jsp:useBean id="test" class="SimleBean" />:表示定義一個java bean的執行個體,執行個體的名稱是test,類的名稱是SimleBean。
<jsp:setProperty name="test" property="message" value="Hello JSP"/>:表示設定執行個體test的屬性message,其值是"Hello JSP"。
<jsp:getProperty name="test" property="message" />:表示在頁面中輸出執行個體test的屬性message的值。

· test.jsp檔案中用到的java bean 的代碼SimpleBean.java如下:

public class SimpleBean
{
private String message;

public String getMessage()
{
return message;
}

public void setMessage(String message)
{
this.message = message;
}
}
註:本代碼中藍色的部分"Message"表示在JSP檔案中可使用的屬性名稱是"message"。

4、 <jsp:include>

<jsp:include>動作的目的是把其他檔案的本文插入到這個程式中來,以增加程式的可重用性和可讀性。

· 文法:

<jsp:include page="relativeURL" flush="true"/>
或:
<jsp:include page="relativeURL" flush="true">
<jsp:param name="parameterName" value="參數的值" />
</jsp:include>

· 屬性:

1) page="relativeURL"
被包含檔案的相對路徑。
2) flush="true"
通常情況下,此屬性必須為true。
3) <jsp:param name="parameterName" value="參數的值" />
該句允許把一個或多個成對的名稱和數值作為參數傳給被包含的檔案。

5、 <jsp:forward>

<jsp:forward>動作把客戶請求轉到另外的頁面,<jsp:forward>以下的代碼將不被執行。

· 文法:

<jsp:forward page="relativeURL" />

<jsp:forward page="relativeURL" >
<jsp:param name="parameterName" value="參數的值" />
</jsp:forward>

· 屬性:

1) page="relativeURL"
轉跳到檔案的相對路徑。
2) <jsp:param name="parameterName" value="參數的值" />
該句允許把一個或多個成對的名稱和數值作為參數傳給轉跳到的檔案。

6、 <jsp:plugin>

<jsp:plugin>動作用來根據瀏覽器的類型,插入通過java外掛程式運行java Applet所必須的object或embed元素。

· 文法:

<jsp:plugin
type="bean|applet"
code="classFileName"
codebase="classFileDirectoryName"
[name="instanceName"]
[align="bottom|top|middle|left|right"]
[height="displsyPixels"]
[width="displsyPixels"]
[hspace="leftRightPixels"]
[vspace="topButtomPixels"]
[jreversion="java的版本"]
[<jsp:params>
[<jsp:param name="parameterName" value="參數的值"/>]
</jsp:params>]
[<jsp:fallback> 這裡是在不能啟動外掛程式的時候,顯示給使用者的文本資訊</jsp:fallback>]
</jsp:plugin>

· 屬性:

1) type="bean|applet"
外掛程式將執行的對象的類型,必須指定。
2) code="classFileName"
外掛程式將執行的java類檔案的名稱,在名稱中必須包含副檔名,且此檔案必須在用"codebase"屬性指明的目錄下。
3) codebase="classFileDirectoryName"
包含外掛程式將啟動並執行java類的目錄或指相這個目錄的路徑。
4) [name="instanceName"]
bean或applet的執行個體的名稱,使得被同一個JSP檔案調用的bean或applet之間的通訊成為可能。

· <jsp:plugin>樣本

<html>
<title>Plugin example</title>
<body>
下面將插入一個java Applet<p>
<jsp:plugin type="applet" code="Test.class"
codebase="/examples/applet" jreversion="2.0" width=60 height=60>
<jsp:fallback>不能運行java applet </jsp:fallback>
</jsp:plugin>
</body>
</html>
注釋:藍色部分代碼,將在頁面中插入一個java applet,該applet的類檔案名稱是"/examples/applet/Test.class",在頁面中的高是60,寬是60。

相關文章

聯繫我們

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