首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

30-31内省访问JavaBean属性的两种步骤

2013-11-09 
30-31内省访问JavaBean属性的两种方法?//pt1为javaBean对象,propertyName为要设置的属性,value为给javaBea

30-31内省访问JavaBean属性的两种方法

?

//pt1为javaBean对象,propertyName为要设置的属性,value为给javaBean的值private static void setProperties(Object pt1, String propertyName, Object value) throws IntrospectionException, IllegalAccessException, InvocationTargetException { PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass()); Method methodSetX = pd.getWriteMethod(); methodSetX.invoke(pt1, value); }//pt1为javaBean对象,propertyName为要获取的属性 private static Object getProperty(Object pt1, String propertyName) throws IntrospectionException, IllegalAccessException, InvocationTargetException { PropertyDescriptor pd=new PropertyDescriptor(propertyName, pt1.getClass()); Method methodGetX=pd.getReadMethod(); Object retVal=methodGetX.invoke(pt1);//因为不知道返回的是什么类型,所以用Object return retVal; } ?

private static Object getProperty(Object pt1, String propertyName)throws Exception {/*PropertyDescriptor pd=new PropertyDescriptor(propertyName, pt1.getClass());Method methodGetX=pd.getReadMethod();Object retVal=methodGetX.invoke(pt1);//因为不知道返回的是什么类型,所以用Object*/BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();Object retVal = null;for(PropertyDescriptor pd : pds){if(pd.getName().equals(propertyName)){Method methodGetX = pd.getReadMethod();retVal = methodGetX.invoke(pt1);break;}}return retVal;}?

热点排行