如何获取javabean的属性和值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取javabean的属性和值相关的知识,希望对你有一定的参考价值。

我又一个javabean,我想在另外一个类里获取这个javabean的各个属性以及所对应的值,可以么?

参考技术A 先实例化这个Bean
使用这个Bean的set方法可以设置属性值
使用这个Bean的get方法可以获取属性值
例如有一个Bean名位PersonBean:
public class PersonBean
private String name;
private int age;
public void setName(String name)
this.name = name;

public void setAge(String age)
this.age= age;


public String getName()
return name;

public int getAge()
return age;



我们可以实例化这个Bean并设置属性
PersonBean per = new PersonBean();
per.setName("yang");
per.setAge(18);
然后将这个bean放到session中
session.setAttribut("Person",per);

当我们想要在另一个类中取得该bean中的值时
先从session中获取这个bean的对象
PersonBean per = (PersonBean )session.getAttribut("Person");
然后用get方法取得值
String name = per.getName();
int age = per.gerAge();
参考技术B 额,javabean就是这个用处的,怎么会不可以呢?用getter来获取就可以了,比如有某人属性
private String some;
public String getSome()
return some;
在其他类里就可以
类名.getSome();就可以了...
参考技术C 可以的,假如这个类是静态的,而且这些属性也是静态的话,直接用类名点属性名就可以访问到
还可以做一个方法来获得这些属性值,然后在其他的类中直接调用该方法就可以了
参考技术D 用reflection,或者用org.apache.commons.beanutils.PropertyUtils这各类本回答被提问者采纳

JavaBean保姆级教程


在这里插入图片描述
就离谱,居然少整理了javabean,话不多说,接着进行保姆级教学。

首先

1. 什么是JavaBean

JavaBean 是一种JAVA语言写成的可重用组件

为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。

JavaBean可分为两种:

  • 一种是有用户界面(UI,User Interface)的JavaBean;
  • 还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。

JSP通常访问的是后一种JavaBean,我们下面说的都是第二种Javabean。

注意:

  1. JavaBean类需要是public,这样外部才能够访问

  2. JavaBean类中的属性都需要进行封装,也就是将属性设置为private

  3. 如果封装的属性需要被外部操作,则需要写setter和getter方法

JavaBean类举例:

public class FirstBean {
    private String name;
    private int age;
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return this.name;
    }
    public int getAge() {
        return this.age;
    }
}

2. 使用JavaBean

2.1 使用JavaBean的好处

  1. 可以将html和java代码分离,后期维护更加方便
  2. 可以让代码得到复用

2.2 在JSP中如何使用JavaBean

注意需要在使用的地方引入JavaBean,引入JavaBean可以

  • 采用page的import
  • 也可以使用jsp的useBean(用的多)

使用page的import

//xiaoD是包名
<%@ page import="xiaoD.FirstBean" %>
<%
    FirstBean firstBean = new FirstBean();
    firstBean.setName("xiaoD");
    firstBean.setAge(21);
%>
<%=firstBean.getName() %>
<%=firstBean.getAge() %>

输出

xiaoD
21

使用jsp的useBean

<jsp:useBean id="firstBean" scope="request" class="xiaoD.FirstBean" />
<%
    firstBean.setName("xiaoD");
    firstBean.setAge(21);
%>
<%=firstBean.getName() %>
<%=firstBean.getAge() %>

输出

xiaoD
21

useBean使用注意:

这里的id是实例化以后的id,scope是对象的作用范围,可以取值为page,request,session,application。

  1. 如果我们在一个页面设置了其scope为page,那么跳转以后就获取不到了。

  2. 如果我们在一个页面设置了其scope为request,那么通过服务器跳转以后,如果想要获取,需要在获取的JSP页面也加上下面代码,指明作用范围

    <jsp:useBean id="firstBean" scope="request" class="xiaoD.FirstBean" />
    

在jsp中删除JavaBean

(使用完成以后,不再使用了,需要删除)

//page范围的删除
pageContext.removeAttribute("实例对象的名称");
//request范围的删除
request.removeAttribute("实例化对象的名称");
//session范围的删除
session.removeAttribute("实例化对象的名称");
//application范围的删除
application.removeAttribute("实例化对象的名称");

3. 使用JSP标签设置和获取属性

3.1 设置属性

类型语法说明
自动匹配<jsp:setProperty name=”实例化对象的名称” property = “*” />如果form表单中的name值和JavaBean中的属性值一样,那么就都会自动匹配
指定属性<jsp:setProperty name=”实例化对象的名称” property=”属性名称” />不要全部匹配,只是匹配指定的属性
指定参数<jsp:setProperty name=”实例化对象的名称” property=”属性名称” param=”参数名称” />通过property和param进行匹配
指定内容<jsp:setProperty name=”实例化对象的名称” property=”属性名称” value=”内容” />为每个参数指定内容

3.2 获取属性

<jsp:getProperty name="实例化对象的名称" property="属性名称" />

以上是关于如何获取javabean的属性和值的主要内容,如果未能解决你的问题,请参考以下文章

在数据集中获取多个属性的名称和值

C#如何获取实体类属性名和值?

如何快速从数据库获取表属性编写JavaBean

从未知对象获取属性和值

JavaBean保姆级教程

JavaBean保姆级教程