ValueChangeListener для inputText [дубликат]

Когда вы думаете о модификаторах доступа, просто подумайте об этом таким образом (применительно к обеим переменным и методам):

public -> доступно из любого места private -> доступно только в том же классе, где он объявлен

. Теперь возникает путаница, когда дело доходит до default и protected

default -> Нет ключевого слова модификатора доступа , Это означает, что он доступен строго в пакете класса. Нигде за пределами этого пакета он доступен.

protected -> Чуть менее строже, чем default, и кроме тех же классов пакетов, к ним могут обращаться под-классы вне пакета / g0] объявлено.

1
задан BalusC 8 October 2012 в 20:20
поделиться

1 ответ

Просто добавьте <f:ajax>. Он отправит значение, когда произошло событие HTML DOM change (т. Е. Когда поле было отредактировано, а затем размыто).

<h:inputText value="#{myBean.in}">
    <f:ajax />
</h:inputText>

Его атрибут event по умолчанию имеет значение valueChange, поэтому он опускается. Его атрибут execute по умолчанию имеет значение @this, поэтому он опущен. Если вы хотите обновить другой компонент, нажмите render. Например,

<h:inputText value="#{myBean.in}">
    <f:ajax render="msg" />
</h:inputText>
<h:message id="msg" />

Если вы хотите вызвать слушателя, когда он был успешно установлен, установите атрибут listener:

<h:inputText value="#{myBean.in}">
    <f:ajax listener="#{myBean.changeIn}" />
</h:inputText>
public void changeIn() {
    System.out.println("in has been changed to " + in);
}

См. Также:

7
ответ дан BalusC 24 August 2018 в 23:59
поделиться
Другие вопросы по тегам:

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