0

これは素朴な質問として出くわすかもしれません。私はJavaBeansの経験が浅いことを非難します。

次のようにJavaBeansを使用しています-

メンバーがいるクラスComponentModelがありますbooleanisComponentEditable

それから私は私が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()またはによってアクセスされるJavaBeanプロパティの名前isFoo()は「foo」です。アクセサメソッド(isFoo())が必要な場合は、を呼び出す必要がありますgetReadMethod()

これは、たとえば、プロパティが変更されたときにイベントを発生させるときに使用する名前、またはGroovyやJSPELなどのスクリプト言語を使用してプロパティにアクセスするときに使用する名前であるという意味でのプログラム名です。

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

詳細については、 http://docs.oracle.com/javase/tutorial/javabeans/writing/properties.htmlを参照してください。

于 2013-03-09T08:34:20.070 に答える