Я пытаюсь установить свойство bean bean-компонента при использовании композитного компонента (бэк-компонент является составным attribute
).Как установить свойство bean из составного атрибута?
Существует свойство bean (ex, finalDraft
), которое я хочу условно заполнить атрибутом (условно, потому что атрибут не требуется).
Подложка боб:
class Bean ... {
String finalDraft; // getters+setters
@PostConstruct
void init() {
String draftAttr = (...) getAttributes("draft");
if(draftAttr!=null) {
finalDraft = draftAttr;
}
}
}
Композитный:
<composite:interface>
<composite:attribute name="bean" required="true" ... />
<composite:attribute name="draft" type="java.lang.String" />
</composite:interface>
До сих пор я пытался с getAttributes("draft")
в @PostConstruct
из bean
, но решает обнулить (примечания: вид-сфера) ,
Есть ли другой способ сделать это?
Благодарим за отзыв. В моем случае использования атрибут 'draft' не является' boolean', а 'String', который должен использоваться в текстовом компоненте (как и значение по умолчанию для компонента' inputText'). Значение 'input' привязано к свойству bean (' bean.finalText', который я решил опустить, потому что я просто хочу получить доступ к атрибуту 'draft' в бэк-компоненте). Моя проблема заключалась в том, что в случае существующего проекта я не смог установить finalText с текстом проекта – nuno
. Я уже решил его, вызвав 'f: event' и явно вызвав требуемый наборщик (и соответствующий аргумент, который в моем case - 'draft') – nuno
@nuno, все еще не понимаю, почему вы заполняете свойство bean с составным атрибутом при его загрузке. У вас уже нет этого атрибута в вашем компоненте? –