Duvida implementação Command/Factory

1 resposta
P

Olá pessoal,

uma duvida no uso Command/Factory pois tenho uma tela onde posso incluir,ver o log e exluir.

Mas na acão de Log tenho que passar o codigo do cliente e receber uma Collection, minha duvida é como implementar essa situação…pois minha interface criado é void…

Se alguém puder me ajudar agradeceria…

abs

<HTML>
<HEAD>
    <TITLE>action="controller"</TITLE>
    <script>
                function escolherAction(acao) {
                    if (acao == "cadastrar")
                       document.produtoForm.action = "cadastra";
                    else if (acao == "consultar")
                       document.produtoForm.action = "log";
                    else
                       document.produtoForm.action = "remove";

                    document.produtoForm.submit();
                }
          </script>
    
</HEAD>

<BODY>

      <form  method="get" action="controller">
      
         <br>
         <br>
            &lt;table bgcolor="#000000 align = "center" border =0 cellspacing = 0 width = "50%"&gt;
                  &lt;tr&gt;
                  
                  Nome :
                  &lt;input type="text" name="nome" value="Digite seu nome aqui..."&gt;
                  &lt;/tr&gt;
                   &lt;tr&gt;
                  
                  Endereço :
                  &lt;input type="text" name="ende" value="Digite seu nome aqui..."&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;&lt;td colspan = 2&gt;&nbsp;&lt;/td&gt;&lt;/tr&gt;
                 
                  
                   
                   &lt;tr&gt;
                           &lt;td&gt;
                               &lt;input type="button" name="cadastrar" value="Cadastrar" onclick="escolherAction('cadastrar')"&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;input type="button" name="log" value="Log do Cliente" onclick="escolherAction('log')"&gt;
                           &lt;/td&gt;
                           &lt;td&gt;
                               &lt;input type="button" name="remover" value="Remover" onclick="escolherAction('remove')"&gt;
                           &lt;/td&gt;
                       &lt;/tr&gt;
                   
            &lt;/table&gt;
            &lt;input type=hidden name="invisivel" value="fechado"&gt;
      &lt;/form&gt;

&lt;/BODY&gt;
&lt;/HTML&gt;

---

ackage beans.comand;

public interface BaseCommand {

	public void executar(); 
}
----
package beans.comand;

public class CommandFactory {

	public BaseCommand create(String name){
		BaseCommand objectComand=null;
		
		if ("cadastra".equals(name)){
			
			objectComand=new CadastraCommand();
			
		}else if  ("log".equals(name)){
			objectComand=new LogCommand();
		}
		
		return objectComand;
	}
}
---
package beans.comand;

public class CadastraCommand implements BaseCommand {

	public void executar() {
		
		System.out.println("Cadastra");
		// Vai ao banco DAO Incluir
		
	}

}
---
package beans.comand;

public class LogCommand implements BaseCommand {

	public void executar() {
		
		System.out.println("Log");
		// Vai ao banco DAO Log buscauma Collection
		// essa é minha duvida como fazer passar um parametro
		// e receber uma lista
		//Collection lista = DAO.listaLog(cliente);
		
	}

}
---
package beans.comand;

public class CommandFactory {

	public BaseCommand create(String name){
		BaseCommand objectComand=null;
		
		if ("cadastra".equals(name)){
			
			objectComand=new CadastraCommand();
			
		}else if  ("log".equals(name)){
			objectComand=new LogCommand();
		}
		
		return objectComand;
	}
}
---

 public void processar(HttpServletRequest req,
                          HttpServletResponse resp)  throws ServletException, java.io.IOException {
    	 
         String acao = req.getParameter("acao");
         
         BaseCommand comando = comandoFactory.create(acao);
         comando.executar();
        
    }

1 Resposta

P

alguém poderia me ajudar…
abs

Criado 20 de junho de 2008
Ultima resposta 20 de jun. de 2008
Respostas 1
Participantes 1