2016-07-08 1 views
0

Я не понимаю, как <h:dataTable value="#{ManagedBean.all}" /h:dataTable> приводит к вызову функции в пределах ManagedBean класса getAll().Как # ManagedBean.all} вызывает ManagedBean.getAll()

Я понимаю, что <h:form binding="#{ManagedBean.form}" /h:form> вызывает конструктор ManagedBean, но не уверен, как приведенный выше пример вызывает кажущуюся несвязанную функцию.

ответ

1

В соответствии с жизненным циклом JSF, в течение фазы 6 i.e Отказоустойчивость. «Значения, которые будут показаны, извлекаются из привязки значений геттеров в бэкэнде. Также, если конвертер определен, то значение будет передано через метод getAsString() преобразователя, и результат будет показан в форме «. , Следовательно, для коллекции, отображаемой в datatable со значением = "# {ManagedBean.all}", метод getAll() вызывается JSF.

Вы можете обратиться ссылке ниже для получения дополнительной информации:

Debug JSF lifecycle