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

Я плохо знаком с JSF и управляемыми компонентами. У меня есть управляемый компонент с некоторой частной собственностью с общедоступным методом set и Методами получателя. Теперь, когда я добавляю свойства управляемого компонента к формам JSF, я должен добавить закрытые методы непосредственно, или я должен использовать, называют свойство Методами получателя?

Например:

  1. <h:inputText value="#{BeanName.userName}"/>
  2. <h:inputText value="#{BeanName.getUserName()}"/>

Какой корректен в вышеупомянутом?

5
задан BlueBird 29 June 2015 в 10:47
поделиться

3 ответа

Предполагая, что вы используете JBoss EL или EL 2.2+, оба способа будут работать нормально в начальном отображении. Но первый способ на самом деле более правильный, потому что второй будет только получать значение, но никогда не устанавливать значение. Если вы хотите собирать входные значения, всегда выбирайте первый способ. Тогда EL (Expression Language) будет автоматически находить методы getUserName() и setUserName(), когда это необходимо.

Второй способ никогда не будет работать, если вы используете стандартную реализацию JSF EL, поскольку она не поддерживает прямые вызовы методов.

Чтобы узнать больше о JSF, начните с нашей вики-страницы JSF.

6
ответ дан 14 December 2019 в 08:42
поделиться

номер 1 верен сверху, это приватное поле, которое вы подключаете, если вы используете EL с JSF в вашей форме.

Вам все еще нужны getter и setter, которые управляемый боб вызывает для получения значений, чтобы вы могли сохранить их в базе данных ....etc

.
0
ответ дан 14 December 2019 в 08:42
поделиться

Если в вашем java классе есть что-то вроде

....
private String coolStuff;

public String getCoolStuff() {
    return coolStuff;
}
....

То в вашей jsf странице вы обращаетесь к нему так:

#{myBackingBean.coolStuff}

Фреймворк автоматически ищет метод под названием getCoolStuff()

Надеюсь это поможет

1
ответ дан 14 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: