简介: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>
借助下节给出的示例可以更好地理解这一点。
下面提供的示例解释了 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>
Calculator.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属性。例如,第二个,使用两个 JSP 页面创建三个文件,同时创建一个 EJB“calculator.java”来远程执行业务操作。 useBean3.jsp 用于获取用户的输入并将其传递给 useBean2.jsp 来执行计算,其中涉及计算所提供字符串中的字符数。一旦通过calculator.java执行此操作,“计数”就会再次传递到jsp页面并显示。
JSP useBean 标签是调用远程 EJB 最方便的方法之一。 useBean 标签的实用性由于其简单的语法以及业务操作与设计的分离的增加而增加。远程资源的增加也增加了该标签在 JSP 中的实用性。
以上是JSP使用bean的详细内容。更多信息请关注PHP中文网其他相关文章!