2011-04-11 3 views
0

지난주에 J2EE와 함께 Ajax를 사용하는 것에 관한 질문을 올렸습니다. JSF 2.0과 함께 ajax를 지원하는 빌드에 대한 답을 얻었습니다. 불행하게도 나는 단지 이것의 어떤 예도 작용하는 것처럼 보이지 않는다!<f: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

f:ajax에 잘못된 이벤트가 지정되었습니다. click 대신 keyup 또는 keypress을 사용

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

온 클릭/이벤트 핸들러는 단지 마우스 클릭에 의해 해고를 클릭합니다.

UPDATE :

전에 통지하지 않았나요 : 당신은 제대로 아약스에 대한 모든 자바 스크립트 자원을 포함하는 <h:head> 대신 <head>를 사용한다고 생각

.

+0

오타가 있기 때문에 다른 이벤트로 테스트를하고있었습니다. 키 업은 테스트 된 값 이었지만 작동하지 않습니다. – David

+0

@David : render = "@ form"및 execute = "@ form"으로 작동합니까 –

+0

@Matt : 아니요. – David

관련 문제