![](/img/trans.png)
[英]Confusing behavior of java.beans.PropertyDescriptor(String, Class)
[英]Java Beans query pertaining to getName method of PropertyDescriptor class
這可能是一個幼稚的問題。 我指責我對Java Bean的缺乏經驗。
我使用Java Bean如下-
我有一個類ComponentModel
具有boolean
成員isComponentEditable
然后,我有一個ComponentPropertyEditor
類,其中我做到以下幾點-
public ComponentPropertyEditorModel(ComponentModel bean) {
BeanInfo info = Introspector.getBeanInfo(bean.getClass());
PropertyDescriptor[] props = info.getPropertyDescriptors();
for (PropertyDescriptor prop : props)
System.out.println(prop.getName());
}
林眼見getName()
對我的上述成員isComponentEditable
被返回componentAsEditable
。 我的印象是,對於成員名稱將返回類作為是getName()
Javadoc中說getName()
返回“的編程名稱”。
程序名稱是什么,為什么與我前面提到的班級成員的名稱不同?
getFoo()
或isFoo()
訪問的JavaBean屬性的名稱為“ foo”。 如果需要訪問器方法( isFoo()
),則應調用getReadMethod()
。
從某種意義上講,它是程序化名稱,例如,它是在屬性更改時觸發事件時將使用的名稱,或者是使用諸如Groovy或JSP EL之類的腳本語言訪問屬性時使用的名稱:
<c:out value="${bean.componentEditable}"/>
有關更多信息,請參見http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.