1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Iniciar e parar LOOP no JSF

Olá pessoal, gostaria de criar uma página com dois botões "INICIAR" e "PARAR", um botão inicia um Loop e o outro interrompe este Loop.

Ao clicar em "INICIAR" o loop inicia a contagem, a cada iteração ele espera 5s "Thread.sleep(5000L)" então continua a contagem até eu clicar no botão "PARAR".

Estou tentando fazer isso de várias maneiras, inclusive com Threads, mas estou encontrando dificuldades.

Desde já agradeço a ajuda!

VIEW

<h:form id="loop-form">

   <p:commandButton value="Iniciar"
        action="#{loopBean.iniciarContagem()}" />

   <p:commandButton value="Parar"
        action="#{loopBean.pararContagem()}" />



</h:form>

ManagedBean

private emLoop = true;

public void iniciarContagem(){
for(int i = 0; i <= 10000; i++){

   if(!emLoop){
      return;
   }

   System.out.println("Contagem:" + i);
   Thread.sleep(5000L);

}


public void pararContagem(){
     System.out.println("pararContagem()");
     this.emLoop = false;

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jsf threads ou faça a sua própria pergunta.