首页 > 代码库 > [转]Jsp 与 JavaBean

[转]Jsp 与 JavaBean

JavaBean 是一个遵循特定写法的 Java 类,它有以下特点:

1. Java 类具有一个无参的构造函数

2. 属性必须私有化。

3. 私有化的属性通过 public 类型的方法暴露给其它程序,并且方法命名遵守相关命名规范。

 

JavaBean 在 J2EE 开发中,用于封装数据,对于遵循以上写法的 JavaBean 组件,其它程序可以通过反射

技术实例化 JavaBean 对象,并且通过反射那些遵守命名规范的方法,从而获知 JavaBean 的属性,进而

调用其属性保存数据。

 

在 Jsp 中使用 JavaBean

Jsp 技术提供了三个关于 JavaBean 组件的动作元素,即 Jsp 标签,它们分别为:

<jsp:useBean> 用于在 Jsp 页面中查找或实例化一个 JavaBean 组件。

<jsp:setProperty> 用于在 Jsp 页面中设置一个 JavaBean 组件的属性。

<jsp:getProperty> 用于在 Jsp 页面中获取一个 JavaBean 组件的属性。

public class Person {
    private String name;
    private int age;
}

先写一个这样的类,然后右键 -> Source -> Generate Getters and Setters 就会由 eclipse 自动生成 get / set 方法。

<jsp:useBean id="person" class="cn.itcast.domain.Person" scope="page"></jsp:useBean>

<!-- 手动赋值 -->
<jsp:setProperty name="person" property="name" value="xx123xx"></jsp:setProperty>
<%=person.getName()%><br />
<hr />
<!-- 用请求参数给 bean 属性赋值 -->
<jsp:setProperty name="person" property="name" param="name" />
<jsp:setProperty name="person" property="age" param="age" />
<!-- http://localhost:8088/day09/1.jsp?name=%E4%B8%AD%E5%9B%BD%20%E4%BA%BA&age=121&birthday=2015-01-12 -->
<%-- <jsp:setProperty name="person" property="birthday" value="<%=new Date() %>" /> --%>
<%=person.getName()%><br />
<%=person.getAge()%><br />
<%=person.getBirthday()%><br />
<hr />
<jsp:setProperty property="*" name="person"/>
<%=person.getName()%><br /> // 此句与下面的得到相同结果。
<jsp:getProperty property="age" name="person"/><br />
<jsp:getProperty property="birthday" name="person"/><br />

以上代码,演示使用了 各标签的使用场景和方法。

如果一个 JavaBean 实例对象的某个属性值为 null 那么  jsp:getProperty 标签输出的结果是 "null" 字符串。

[转]Jsp 与 JavaBean