jsp:useBean的使用

时间:2023-03-09 18:39:39
jsp:useBean的使用

->Bean的基本要素:

  1.必须要有一个不带参数的构造器,在jsp元素创建Bean时会调用空构造器

  2.Bean类应该没有任何公共实例变量,也就是说,不允许直接访问实例变量,通过setter/getter方法读写量的值

  3.Bean类应该在一个包里,不要使用裸体类

->基本用法:

  用法一:(最常用,最简单的用法)

<jsp:useBean id="beanName" scope="page | request | session | application" class="package.BeanClass" type="typeName" />

  用法二:

<jsp:useBean id="beanName" scope="page | request | session | application" class="package.BeanClass" type="typeName" >
<jsp:setProperty name="beanName" property="propertyName" value="propertyValue" />
<jsp:getProperty name="beanName" property="propertyName" />
</jsp:useBean>

  例:

  有这样一个JavaBean对象:

package demo;
public class TestBean {
private int count; public TestBean() {
} public int getCount() {
return count;
} public void setCount(int count) {
this.count = count;
}
}

  第一种写法:

<jsp:useBean id="abc" class="demo.TestBean" scope="page" type="java.lang.Object">
  <jsp:setProperty name="abc" property="count" value="100" />
  <jsp:getProperty name="abc" property="count" />
</jsp:useBean>

  第二种写法:

<%@ page import="demo.*" %>

<%
  Object abc = new TestBean();
  abc.setCount(100);
  abc.getCount();
%>

注:这两种写法的作用是相同的,只是一种是标签式语言,另一种是java语言.

  id:实例的变量命

  class:包命加上类名

  scope:定义作用域,默认为page,相当于局部变量,其他三种均按各自表面意思作用

  type:作用类型,上边两种写法是父类引用指向子类对象,也可以将两种写法的Object换成TestBean,就变为了一般new实例的形式

  property:局部变量命