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>
<table bgcolor="#000000 align = "center" border =0 cellspacing = 0 width = "50%">
<tr>
Nome :
<input type="text" name="nome" value="Digite seu nome aqui...">
</tr>
<tr>
Endereço :
<input type="text" name="ende" value="Digite seu nome aqui...">
</tr>
<tr><td colspan = 2> </td></tr>
<tr>
<td>
<input type="button" name="cadastrar" value="Cadastrar" onclick="escolherAction('cadastrar')">
</td>
<td>
<input type="button" name="log" value="Log do Cliente" onclick="escolherAction('log')">
</td>
<td>
<input type="button" name="remover" value="Remover" onclick="escolherAction('remove')">
</td>
</tr>
</table>
<input type=hidden name="invisivel" value="fechado">
</form>
</BODY>
</HTML>
---
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();
}