2016-03-22 2 views
0

Я использую jsf и ajax. Я хочу поймать изменение inputText и распечатать текст на консоль. Вот XHTML-файл:ajax не работает в jsf

<h:form> 
     <h:inputText id="name" name="string" value="#{class.string}" > 
     <f:ajax listener="#{class.printString}" event="valueChange" execute="name"/> 
     </h:inputText> 

    </h:form> 

и здесь managedBean, функция "printString"

public void printString(AjaxBehaviorEvent event) { 

     System.out.println(string); 
    } 
+0

Энди, в следующий раз, когда вы задать вопрос, разработать «не работает» в перспективе разработчика вместо точки зрения конечного пользователя в. В коде есть по крайней мере две красные сельди, которые вы оставили без изменений. Чтение консоли JS и журнала сервера, как указано в дубликате, должно уже дать подсказки. См. Также http://stackoverflow.com/tags/jsf/info для рекомендаций. – BalusC

+0

@BalusC Всегда приятно исправить вас;) – Gimby

+0

@BalusC большое вам спасибо) – andy

ответ

-2

Попробуйте это:

<h:inputText id="name" name="string" value="#{class.string}" > 
    <f:ajax listener="#{class.printString}" event="keyup" execute="name"/> 
</h:inputText> 

изменить Также searchString к string в методе подложки. Поскольку h:inputText имеют значение для string

public void printString(AjaxBehaviorEvent event) { 

     System.out.println(searchString); 
    } 

MORE

Смотреть official

+0

Вы забыли объяснить, почему подход OP не работал. – BalusC

Смежные вопросы