使用困难<;f:ajax>;关于jsf2.0

使用困难<;f:ajax>;关于jsf2.0,ajax,jsf,jsf-2,Ajax,Jsf,Jsf 2,上周,我在这里发布了一个关于在J2EE中使用Ajax的问题,并获得了关于JSF2.0中构建对Ajax的支持的答案。不幸的是,我似乎找不到任何这样的例子 我已经尝试过在不同的服务器上使用不同的IDE,但是我无法让这个基本的例子起作用 会话范围的托管bean: public class testBean { private String name; public testBean() {} public String getName(){ return

上周,我在这里发布了一个关于在J2EE中使用Ajax的问题,并获得了关于JSF2.0中构建对Ajax的支持的答案。不幸的是,我似乎找不到任何这样的例子

我已经尝试过在不同的服务器上使用不同的IDE,但是我无法让这个基本的例子起作用

会话范围的托管bean:

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表单旁边显示正在写入的文本,但事实并非如此


我讨厌把两个话题扯到几乎相同的事情上,但我真的不知道这里出了什么问题,从我读到的内容来看,这段代码应该是有效的

f:ajax
中指定了错误的事件。使用
keyup
keypress
代替
单击

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

onclick/click事件处理程序仅通过鼠标单击触发

更新:

以前没有注意到:


我认为您应该使用
而不是
来正确包含ajax的所有javascript资源。

这是一个错误,我用不同的事件进行了测试。keyup是测试值,不起作用。