Проблемы с использованиемна JSF 2.0 - PullRequest
0 голосов
/ 11 апреля 2011

На прошлой неделе я разместил здесь вопрос об использовании Ajax с J2EE и получил ответ на вопрос о встроенной поддержке ajax с JSF 2.0.К сожалению, я просто не могу заставить этот пример работать!

Я пробовал использовать разные IDE с разными серверами, но не могу заставить этот базовый пример работать.

Управляемый компонент в рамках сеанса:

public class testBean 
{
    private String name;

    public testBean() {}


    public String getName(){
        return name;
    }

    public void setName(String name){
        this.name = name;
    }
}

И xhtmlстраница:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">
<head>
  <title>Default title</title>
</head>

    <body>

        <h:form id="testForm"> 

            <h:inputText id="test" value="#{testBean.name}" > 
                <f:ajax event="keyup" render="testForm:name" execute="testForm:test"/> 
            </h:inputText> 


            <h:outputText id="name" value="#{testBean.name}" /> 
        </h:form>   

    </body>

</html>

Насколько мне известно, на странице должен отображаться текст, который пишется, когда он пишется прямо рядом с формой inputText, но этого не происходит.

Я ненавижу делатьдве темы примерно об одном и том же, но я действительно не знаю, что здесь не так, из того, что я прочитал, этот код должен работать.

1 Ответ

1 голос
/ 11 апреля 2011

В вашем f:ajax указано неверное событие.Используйте keyup или keypress вместо click:

<h:inputText id="test" value="#{testBean.name}" > 
  <f:ajax event="keyup" render="name" execute="test"/> 
</h:inputText>

. Обработчик события onclick / click запускается только щелчком мыши.

ОБНОВЛЕНИЕ:

Не замечал этого раньше:

Я думаю, вы должны использовать <h:head> вместо <head>, чтобы правильно включить все ресурсы javascript для ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...