首页 > 编程笔记 > Java笔记 阅读:1

获取JavaBean的属性(附带实例)

在 JavaBean 类中,为了防止外部对象直接调用 JavaBean 属性,通常将 JavaBean 中的属性设置为私有的。但同时需要为属性提供公共的访问方法,也就是 getter() 方法。

<jsp:useBean> 标记用于在指定的作用域范围内查找指定名称的 JavaBean 类实例化的对象:
<jsp:useBean> 的语法形式如下:
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>

<jsp:getProperty> 标记用于读取 JavaBean 实例化对象的属性,也就是调用 JavaBean 对象的 getter() 方法。然后将其读取的属性值转换成字符串后插入输出的响应正文中。

<jsp:getProperty> 的语法形式如下:
<jsp:getProperty name="beanInstanceName" property="PropertyName" />

【实例】在 JSP 页面中显示 JavaBean 对象的属性信息。

首先创建名称为 Person 的 JavaBean 类。在 Person 类中创建所需属性,并提供相应的 getter() 方法和 setter() 方法。核心代码如下:
/**
* Person 类就是一个简单的 JavaBean
*/
public class Person {

    // ------------------ Person 类封装的私有属性 ------------------------------
    /** 姓名,String 类型 */
    private String name = "SimpleLee";

    /** 性别,String 类型 */
    private String sex = "女";

    /** 年龄,int 类型 */
    private int age = 30;

    /** 是否已婚,boolean 类型 */
    private boolean married = true;

    // ------------------ 构造方法 ------------------------------------------
    /**
     * 无参数构造方法
     */
    public Person() {
    }

    // ------------------ 对外提供的用于访问私有属性的方法 ----------------------
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    // 修正方法名拼写:getMaried → getMarried
    public boolean getMarried() {
        return married;
    }

    public void setMarried(boolean married) {
        this.married = married;
    }
}

然后创建 JSP 页面 Person.jsp。在该页面中通过 JSP 的动作标记来获取 JavaBean 对象的属性信息。核心代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>PersonJSP</title>
</head>
<body>
    <jsp:useBean id="person" class="jspSamples.unit5.javaBeanSamples.Person" scope="page" />
    <div>
        <ul>
            <li>姓名:<jsp:getProperty property="name" name="person"/></li>
            <li>性别:<jsp:getProperty property="sex" name="person"/></li>
            <li>年龄:<jsp:getProperty property="age" name="person"/></li>
            <li>已婚:<jsp:getProperty property="married" name="person"/></li>
        </ul>
    </div>
</body>
</html>

在 JSP 页面中,主要通过 <jsp:useBean> 标记实例化 Person 类的 JavaBean 对象,然后使用 <jsp:getProperty> 标记获取 JavaBean 对象中的属性信息,其页面运行效果如下图所示。

相关文章