jsp中使用javabean实例介绍

  test.jsp中的代码如下所示

  

复制代码 代码如下:

  <%@ page language = "java" import="test.SimpleBean;" %>

  <html>

  <head>

  <title>JSP中使用 Java Bean的测试</title>

  </head>

  <body>

  <jsp:useBean id="test" class="test.SimpleBean" />

  <jsp:setProperty name="test" property="name" value="Hello JSP"/>

  <jsp:setProperty name="test" property="message" value="fuck JSP"/>

  <jsp:setProperty name="test" property="coon" value="fuck JSP"/>

  <p>消息:

  <jsp:getProperty name="test" property="name" />

  <br>

  <jsp:getProperty name="test" property="message" />

  <br>

  <jsp:getProperty name="test" property="coon" />

  </body>

  </html>

  <jsp:useBean id=”test” />:表示定义一个java bean的实例,实例的名称是test,类的名称是SimleBean。

  <jsp:setProperty name=”test” property=”name” value=”Hello JSP”/>:表示设置实例test的属性name,其值是”Hello JSP”。

  <jsp:setProperty name=”test” property=”message” value=”fuck JSP”/>:表示设置实例test的属性message,其值是”fuck  JSP”。

  <jsp:getProperty name=”test” property=”name” />:表示在页面中输出实例test的属性name的值。

  <jsp:getProperty name=”test” property=”message” />:示在页面中输出实例test的属性message的值.

  test.jsp文件中用到的java bean 的代码SimpleBean.java如下:

  

复制代码 代码如下:

  package test;

  public class SimpleBean {

  private String name;

  private String message;

  private String conn;

  public String getName() {

  return this.name;

  }

  public void setName(String name) {

  this.name = name;

  }

  public String getMessage()

  {

  return this.message;

  }

  public void setMessage(String message)

  {

  this.message = message;

  }

  public String getCoon()

  {

  return this.conn;

  }

  public void setCoon(String coon)

  {

  this.conn = this.message+" "+this.name;

  }

  }

  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”

  这个属性是必须的,用来表示要获取哪个属性。