如何获取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。
注意:
-
JavaBean类需要是public,这样外部才能够访问
-
JavaBean类中的属性都需要进行封装,也就是将属性设置为private
-
如果封装的属性需要被外部操作,则需要写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的好处
- 可以将html和java代码分离,后期维护更加方便
- 可以让代码得到复用
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。
-
如果我们在一个页面设置了其scope为page,那么跳转以后就获取不到了。
-
如果我们在一个页面设置了其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的属性和值的主要内容,如果未能解决你的问题,请参考以下文章