JavaBean的規(guī)范
1.必須要有一個默認構造器(沒參的)
2.提供get/set方法,如果只有get方法,那么這個屬性是只讀屬性
3.屬性:有get/set方法的成員,還可以沒有成員,只有get/set方法。屬性名稱有get/set方法來決定,而不是成員變量。
4.方法名稱滿足一點的規(guī)范,那么它就是屬性!boolean類型的屬性,它的讀方法可以是is開頭,也可以是get開頭
BeanUtils的使用
內?。?br>
先得到內省類 --> Bean信息 - -> 屬性描述符 - -> 屬性的get/set對應的Method - -> 就可以反射了
一般通過commons的beanutils來實現(xiàn),它是依賴內省完成的
步驟:
- 導包:
commons-beanutils.jar
commons-logging.jar
之前創(chuàng)建了一個Person類,有name和age兩個屬性
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;
import cn.itcast.commons.CommonUtils;
public class BranUtilsDemo_01 {
@Test
public void fun01() throws Exception {
String className = "Demo_01.Person";
Class c = Class.forName(className);
Object bean = c.newInstance();
BeanUtils.setProperty(bean, "name", "張三");
BeanUtils.setProperty(bean, "age", "21");
System.out.println(bean);
}
@Test
public void fun2(){
Map<String, String> map = new HashMap<String, String>();
map.put("name", "lisi");
map.put("age", "20");
Person p = CommonUtils.toBean(map, Person.class);
System.out.println(p);
}
}
Jsp中與JavaBean相關的標簽(基本用不上)
- <jsp:useBean>:創(chuàng)建或查詢bean
- <jsp:useBean id=”user1” class=”Demo_01.BeanUtilsDemo01” scope=”page”/>// page后面寫要作用的域
- <jsp:setProperty>
- <jsp:setProperty property=”username” name=”user1” value=”admin”/>:設置名字為user1的JavaBean的uesrname屬性值為admin。
- <jsp:getProperty>
- <jsp:getProperty property=”username” name=”user1”/>:獲取名字為user1的JavaBean的username屬性值。