Являются ли как геттеры, так и сеттеры обязательными в управляемых компонентах JSF?

У меня есть компонент JSF, который инициализируется из получателя управляемого компонента getProperty(). Обязательно ли также иметь установщик setProperty() в этом управляемом компоненте?


person jj88    schedule 28.09.2011    source источник
comment
Это для использования с атрибутом привязки?   -  person McDowell    schedule 28.09.2011
comment
значение компонента вычисляется во время выполнения. У меня нет свойства атрибута в МБ для getProperty.   -  person jj88    schedule 28.09.2011


Ответы (2)


По-разному.

Некоторые привязки свойств должны быть доступны для чтения и записи. Например, если вы привязываете значение компонента, реализующего EditableValueHolder. Другие свойства могут быть доступны только для чтения.

Если вы используете атрибут binding для динамического создания экземпляров компонентов, он также должен быть доступен для чтения и записи в соответствии с контрактом, определенным в спецификации.

person McDowell    schedule 28.09.2011
comment
значение связано с атрибутом значения в компоненте. Компонент - это f:param, поэтому его нельзя редактировать, я не использую привязку к значению ссылки на компоненте, поэтому я думаю, что это правильно без установщика. - person jj88; 28.09.2011

Нет, не обязательно. Если вы не хотите иметь возможность привязать свойство таким образом, чтобы его значение можно было изменить.

НАПРИМЕР. Если у вас есть список объектов, которые вы хотите отобразить в таблице данных, то сеттер может не понадобиться. Если вы привязываете строковое свойство к textInput, вам понадобится установщик.

person James DW    schedule 28.09.2011