はじめに: JSP usebean タグは、リモート EJB (Enterprise JAVA Bean) を見つけて、使用できるようにそのオブジェクトを作成するために使用されます。 IDE (統合開発環境) は、JAVA ソース フォルダー内で EJB のオブジェクトを検索して作成することができるため、この場合、EJB はすでに検出されており、jsp usebean で明示的にインスタンス化する必要はありません。一方、オブジェクトが作成されていない場合は、インスタンス化が必要です。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
JSP usebean の構文はこのセクションで指定されます。 use Bean タグの構文は、useBean が付加された jsp タグが開始されるときに決定されます。このタグにはさまざまな属性を割り当てることができます。一部の属性には、事前定義された属性がすでに存在しています。それを決めるだけです。属性については以下で説明します:
1. Id: Id は、JSP useBean の識別子です。これは、定義されたスコープ内の EJB を識別するために使用されます。
2. Scope: この属性は、このタグのスコープを定義します。このタグで定義されたスコープ外で呼び出された場合、このタグは機能しません。スコープはそれぞれ「Page」、「Request」、「Session」、「Application」の 4 つです。 「Page」は、明示的な定義がない場合に JSP の useBean タグによって取得されるデフォルトの属性です。 「リクエスト」は、Bean のより広い範囲をサポートすることです。これにより、ページのスコープが、同じ JSP リクエストを使用して Bean にアクセスするすべてのユーザーに拡大されます。リクエストが変更されると Bean にアクセスできなくなるため、ここでも同じキーワードが使用されます。 「セッション」スコープは、リクエスタに関係なく、その特定のセッションで使用される特権を EJB に提供します。リクエストのスコープよりも広いスコープを提供します。 「アプリケーション」スコープは、EJB に対して最も広範な可視性を提供します。このスコープ タイプは、アプリケーションのスコープ内の任意のリクエストを介して呼び出される任意の JSP ページで EJB を使用できることを示します。別のセッションからもアクセスできます。
3. Class: class タグには、Java 埋め込み可能クラスの名前が記載されています。このクラスには、ビジネス ロジックを実装するためのデータ メンバーとメンバー関数が含まれています。このクラスはパッケージの下に存在する必要があります。パッケージは、useBean タグでクラスを呼び出すためのクラスのプレフィックスとして使用する必要があります。定義されたクラスにはコンストラクターや引数を含めることはできません。クラスも抽象的であってはなりません。前述の条件が満たされた場合にのみ、useBean タグが機能します。
4. Type: 定義されたスコープの下ですでにインスタンス化されているクラスのオブジェクトにデータ型を提供するために使用されます。これが機能するには、クラスにオブジェクトが作成されている必要があります。これは 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>
これは、以下のセクションに示す例を参考にするとよりよく理解できます。
以下に示す例は、JSP での useBean タグの動作を説明しています。これは、リモートに存在する EJB を見つけて、そこからの関数またはプロシージャを JSP ページに組み込むために使用されます。以下に示す例は、データと制御フローを理解するのに役立ちます。
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>
出力:
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; } }
出力:
説明: この例では、番号 1 の BODMAS EJB が作成され、実行される操作とともに指定された任意の数の数値が計算されます。この「BODMAS.java」という EJB はリモートの場所に存在し、JSP ページを使用して呼び出すことができます。この場合、useBean1.jsp が呼び出しページです。 useBean タグの class 属性に注目してください。たとえば、番号 2 では、ビジネス操作を実行する 1 つの EJB「calculator.java」がリモートに存在する一方で、2 つの JSP ページで 3 つのファイルが作成されます。 useBean3.jsp は、ユーザーから入力を取得し、それを useBean2.jsp に渡して、指定された文字列内の文字数の計算を含む計算を実行するために使用されます。この操作が calculator.java 経由で実行されると、「カウント」が再び JSP ページに渡されて表示されます。
JSP useBean タグは、リモートにある EJB を呼び出すための最も便利なメソッドの 1 つです。 useBean タグの有用性は、その構文がシンプルであること、およびビジネス操作と設計の分離が高まることにより増大します。リモートに配置されたリソースの存在が増加することで、JSP でのこのタグの有用性も高まりました。
以上がJSP ユースビーンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。