本文整理匯總了Java中org.apache.commons.beanutils.PropertyUtils.setNestedProperty方法的典型用法代碼示例。如果您正苦於以下問題:Java PropertyUtils.setNestedProperty方法的具體用法?Java PropertyUtils.setNestedProperty怎麽用?Java PropertyUtils.setNestedProperty使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.commons.beanutils.PropertyUtils
的用法示例。
在下文中一共展示了PropertyUtils.setNestedProperty方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: setNestedProperty
import org.apache.commons.beanutils.PropertyUtils; //導入方法依賴的package包/類
private void setNestedProperty(Object mobileBean, String nestedProperty, String value)
throws Exception
{
StringTokenizer st = new StringTokenizer(nestedProperty, ".");
Object courObj = mobileBean;
while(st.hasMoreTokens())
{
String token = st.nextToken();
PropertyDescriptor metaData = PropertyUtils.getPropertyDescriptor(courObj, token);
if(token.indexOf('[')!=-1 && token.indexOf(']')!=-1)
{
String indexedPropertyName = token.substring(0, token.indexOf('['));
metaData = PropertyUtils.getPropertyDescriptor(courObj,indexedPropertyName);
}
if(!st.hasMoreTokens())
{
if(Collection.class.isAssignableFrom(metaData.getPropertyType()) ||
metaData.getPropertyType().isArray())
{
//An IndexedProperty
courObj = this.initializeIndexedProperty(courObj, token, metaData);
}
//Actually set the value of the property
if(!metaData.getPropertyType().isArray())
{
PropertyUtils.setNestedProperty(mobileBean, nestedProperty,
ConvertUtils.convert(value, metaData.getPropertyType()));
}
else
{
PropertyUtils.setNestedProperty(mobileBean, nestedProperty,
ConvertUtils.convert(value, metaData.getPropertyType().getComponentType()));
}
}
else
{
if(Collection.class.isAssignableFrom(metaData.getPropertyType()) ||
metaData.getPropertyType().isArray())
{
//An IndexedProperty
courObj = this.initializeIndexedProperty(courObj, token, metaData);
}
else
{
//A Simple Property
courObj = this.initializeSimpleProperty(courObj, token, metaData);
}
}
}
}