首頁 > Java > java教程 > 主體

JSP使用bean

PHPz
發布: 2024-08-30 15:09:24
原創
948 人瀏覽過

簡介:JSP usebean 標籤用於定位遠端 EJB(Enterprise JAVA bean)並建立它的物件以便可以使用。 IDE(整合開發環境)能夠在JAVA來源資料夾中定位並建立EJB的對象,因此在這種情況下,它已經被偵測到,並且不需要讓jsp usebean明確地實例化它。而如果沒有創建對象,則需要實例化。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

JSP usebean 的語法在本節中指定。 use bean 標記的語法是在 jsp 標記以附加的 useBean 啟動時決定的。可以為該標籤指派不同的屬性。某些屬性已經存在預定義屬性。我們只需要做出決定。屬性解釋如下:

1。 Id: Id 是 JSP useBean 的識別碼。它用於標識定義範圍內的EJB。

2。範圍: 此屬性定義了該標籤的範圍。如果在此標記定義的範圍之外調用,則該標記將無法運作。有四個範圍,分別是「Page」、「Request」、「Session」、「Application」。  如果沒有明確定義,「Page」是 JSP 中 useBean 標記所採用的預設屬性。 「Request」是為了支援更廣泛的bean範圍。這將頁面範圍擴大到使用相同 JSP 請求存取該 Bean 的所有使用者。這裡的關鍵字也是一樣的,因為如果請求改變了,那麼bean將無法存取。 「會話」範圍向 EJB 提供在該特定會話中使用的權限,而與任何請求者無關。它提供了比請求範圍更廣泛的範圍。 「應用程式」範圍為 EJB 提供了最廣泛的可見性。此範圍類型表示 EJB 可由任何 JSP 頁面透過應用程式範圍內的任何請求進行呼叫來使用。它也可以透過不同的會話存取。

3。 Class: 類別標籤提到了java可植入類別的名稱。此類別包含資料成員和成員函數來實作業務邏輯。該類別應該存在於包下。套件應該作為類別的前綴來呼叫useBean標籤中的類別。定義的類別不應具有建構函數或參數。類別也不應該是抽象的。只有在滿足前面提到的條件時,useBean 標記才會起作用。

4。類型: 用於為定義範圍內已實例化類別的物件提供資料類型。該類別必須創建一個物件才能使其發揮作用。這是用 bean 或類別名稱定義的(提示:Bean 和類別名稱應該相同,以避免任何混淆或資料問題)。

5。 beanName: 如果想要使用 JSP 函式庫中預先定義的 instantiate() 函式實例化 EJB,則使用此選項。此函數的完整呼叫路徑為java.beans.Beans.instantiate().

<jsp:useBean id= "nameOfInstance" scope= "predefinedScope"
class= "packageName.className" type= "packageName.className"
beanName="packageName.className | <%= anyExpression >" >
</jsp:useBean>
登入後複製

Usebean 標籤在 JSP 中如何運作?

借助下節給出的範例可以更好地理解這一點。

下面提供的範例解釋了 JSP 中 useBean 標記的工作原理。它用於定位遠端退出的 EJB 並將函數或過程從那裡包含到 jsp 頁面。下面提供的範例將幫助您理解資料和控制流。

範例#1

JAVA 檔案:BODMAS.java

package test1JSP;
public class BODMAS {
public int bodmas(int a, int b, int c, int d, int e){return a+b-c/d*e;}
}
登入後複製

JSP 檔案:useBean1.jsp

<jsp:useBean id="obj" class="test1JSP.BODMAS"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Example 1 of JSP useBeans</title>
</head>
<body>
<h1>This is an example to demonstrate the use of useBean tag in JSP.</h1>
<br><br>
<p>
<%
int m=obj.bodmas(5,10,24,24,12);
out.print("The outcome of calculating 5+10-24/24*12 expression using BODMAS rule is ");
%>
<font color="#FF0000"> <% out.print(m); %></font> <% out.print("!"); %>
</p>
</body>
</html>
登入後複製

輸出:

JSP使用bean

範例#2

useBean2.jsp :

<jsp:useBean id="obj" class="test1JSP.Calculator"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Example 2 of JSP useBeans</title>
</head>
<body>
<h1>This is an example to demonstrate the use of useBean tag in JSP.</h1>
<br><br>
<p>
<%
String Uname=request.getParameter("name");
int m=obj.calculate(Uname);
out.print("The number of letters containing in the string is ");
%>
<font color="#FF0000"> <% out.print(m); %></font> <% out.print("!"); %>
</p>
</body>
</html>
登入後複製

useBean3.jsp :

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> Example 2 of JSP useBeans </title>
</head>
<body>
<form action="useBean2.jsp" method="post">
How many number of letters are present in this letter: <input type="text" name="name"><br> <br>
<input name="name" type="submit" value="Find">
</form>
</body>
</html>
登入後複製

計算器.java :

package test1JSP;
public class Calculator {
public int calculate(String name) {
String str = name;
int count = 0;
for (int i = 0; i < str.length(); i++)
{
if (Character.isLetter(str.charAt(i)))
count++;
}
return count;
}
}
登入後複製

輸出:

JSP使用bean

JSP使用bean

說明: 在範例中,建立了數字 1 BODMAS EJB,它將計算任意數量的提供的數字以及要執行的操作。這個名為「BODMAS.java」的 EJB 存在於遠端位置,可以使用 JSP 頁面進行呼叫。在本例中,useBean1.jsp 是呼叫頁面。請重點關注useBean標籤的class屬性。例如,第二個,使用兩個 JSP 頁面建立三個文件,同時建立一個 EJB“calculator.java”來遠端執行業務操作。 useBean3.jsp 用於取得使用者的輸入並將其傳遞給 useBean2.jsp 來執行計算,其中涉及計算所提供字串中的字元數。一旦透過calculator.java執行此操作,「計數」就會再次傳遞到jsp頁面並顯示。

結論

JSP useBean 標籤是呼叫遠端 EJB 最方便的方法之一。 useBean 標籤的實用性由於其簡單的語法以及業務操作與設計的分離的增加而增加。遠端資源的增加也增加了該標籤在 JSP 中的實用性。

以上是JSP使用bean的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板