2013-07-06 7 views
1

commandButton의 쇼케이스에있는 샘플을 사용하려고합니다.RichFaces ajax가 작동하지 않습니다.

하지만이 수행 할 때 그것은 작동하지 않았다

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:rich="http://richfaces.org/rich" 
    xmlns:a4j="http://richfaces.org/a4j" 
    xmlns:f="http://java.sun.com/jsf/core"> 

    <h:head> 
     <title>Rich Teste</title> 
    </h:head> 
    <h:body> 
     <h:outputStylesheet> 
      form { 
       background: #fee3ad 
      } 
     </h:outputStylesheet> 
     <h:form id="iddoform" > 
      <h:panelGrid columns="3"> 
       <h:outputText value="Nome:" /> 
       <h:inputText value="#{testeBean.nome}"/> 
       <a4j:commandButton value="Teste" render="iddoform:out" execute="@form" /> 
      </h:panelGrid> 
      <br /> 
      <a4j:outputPanel id="out"> 
       <h:outputText value="Hello #{testeBean.nome} !"/> 
      </a4j:outputPanel> 
     </h:form> 
     <br /> 
     <a4j:log /> 
    </h:body> 
    </html> 

, 그래서 나는이 변경 :

<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:rich="http://richfaces.org/rich" 
     xmlns:a4j="http://richfaces.org/a4j" 
     xmlns:f="http://java.sun.com/jsf/core"> 

    <h:outputStylesheet> 
     form { 
      background: #fee3ad 
     } 
    </h:outputStylesheet> 

    <h:form id="iddoform"> 
     <h:panelGrid columns="3"> 
      <h:outputText value="Nome:" /> 
      <h:inputText value="#{testeBean.nome}" /> 
      <a4j:commandButton value="Teste" 
       render="iddoform:out" execute="@form" /> 
     </h:panelGrid> 
     <br /> 
     <a4j:outputPanel id="out"> 
      <h:outputText value="Hello #{testeBean.nome} !" /> 
     </a4j:outputPanel> 
    </h:form> 
    </html> 
enter code here 

을 그리고 그것은 작동한다!

변경 사항은 html에서 머리와 본문을 제거하는 것이 었습니다.

내 질문 : '머리 및 신체 태그가 작동하지 않는 이유는 무엇입니까?'

추신 : 나는 render = "iddoform : out"으로 시도하고 있습니다 : iddoform : out 및 out; 그리고 나는 즉각적인 진실을 시도하지만 일하지는 않습니다.

+0

링크가 아닌 여기 코드를 게시하십시오. 링크가 귀하의 질문에 죽으면 쓸모가 없습니다. – Sergio

+1

Sergio, 다음에 코드를 게시 해 주셔서 감사합니다. –

+0

git의 테스트 샘플 : https://github.com/levymoreira/RichTeste/ 모든 사람이 테스트를 원합니다. –

답변

0

"작동하지 않습니다"라고 말하면 어떻게 작동 할 것이라고 예상해야합니까?

작동하지 않는 것은 <h:head><h:body>이 아니며, immediate="true"입니다. 이름을 설정하기 전에 버튼 동작을 처리합니다. 두 번째 예에서는 그걸 가지고 있지 않으므로 그것이 작동하는 이유입니다.

또한 iddoform:out을 사용하여 패널을 가리킬 필요가 없습니다. 단지 out이면 충분합니다. 엔진이 찾아냅니다.

+0

안녕하세요, Makhiel, iam을 사용해보십시오. 'iddoform : out', ': iddoform : out'및 'out'하지만 머리와 신체를 제거했을 때만 작동합니다. github 프로젝트를 다운로드하면 github.com/levymoreira/RichTeste의 샘플이 작동하지만 머리와 본문을 추가해도 작동하지 않습니다. 고맙습니다. 추신 : 나는 원래의 이해를 향상시키기 위해 요청 편집. –

+0

@LevyMoreira 첫 번째 예제를 복사하면 저에게 적합합니다. 당신에게 효과가없는 것은 무엇입니까? 텍스트가 새로 고쳐지지 않습니까? – Makhiel

+0

예, 그는 작동합니다. 이제 헤드 태그와 바디 태그를 추가하면 더 잘 작동하지 않습니다. –

관련 문제