2013-07-06 2 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.

Мой вопрос: «Почему не работает с тегами головы и тела?».

PS: Я пытаюсь сделать рендер = "iddoform: out",: iddoform: out and out; И я пытаюсь с немедленной истиной тоже, но не работает.

+0

Пожалуйста, разместите здесь код, а не ссылки. Если ссылки умирают, ваш вопрос будет бесполезным. – Sergio

+1

Спасибо, Серджио, в следующий раз, когда я отправлю код. –

+0

Образец теста на git: https://github.com/levymoreira/RichTeste/, который каждый хочет проверить. –

ответ

0

Когда вы говорите, что «это не работает», вы должны сказать, как вы ожидаете его работы.

Это не <h:head> и <h:body>, что делает его неработоспособным, это immediate="true". Это заставляет действие кнопки обрабатываться до того, как имя может быть установлено. У вас его нет в вашем втором примере, поэтому он работает.

Также вам не нужно использовать iddoform:out, чтобы указать на панель, достаточно всего out, двигатель найдет ее.

+0

Hi Makhiel, iam try with out imediate, и с «iddoform: out», «: iddoform: out» и «out», но работал только тогда, когда я удалял голову и тело. Если вы загрузите проект github, который вы видите, образец в github.com/levymoreira/RichTeste будет работать, но если вы добавите голову и тело, не работайте. Спасибо. PS: Я редактирую оригинал, чтобы улучшить понимание. –

+0

@LevyMoreira, когда я копирую первый пример, он работает для меня. Что не работает для вас? Не обновляется ли текст? – Makhiel

+0

Да, он работает, теперь добавляет теги головы и тела, и он больше не работает. –

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