0

这可能是一个幼稚的问题。我责怪我在 Java Beans 方面的经验不足。

我使用Java Beans如下 -

我有一个ComponentModelboolean成员的班级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()返回“程序名称”。

什么是程序名,为什么它与我前面提到的班级成员的名字不同?

4

1 回答 1

0

getFoo()由or访问的 JavaBean 属性的名称isFoo()是“foo”。如果您想要访问器方法 ( isFoo()),您应该调用getReadMethod().

例如,它是在属性更改时触发事件时将使用的名称,或者在使用 Groovy 或 JSP EL 等脚本语言访问属性时将使用的名称:

<c:out value="${bean.componentEditable}"/>

有关详细信息,请参阅http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.html

于 2013-03-09T08:34:20.070 回答