ZK - Open Source Ajax Java FrameworkZK - Open Source Ajax Java Framework

MVC CONTROLE SERVLET

hermesmenezes
28 Dec 2011 01:04:00 GMT
28 Dec 2011 01:04:00 GMT

Boa Noite!!

tem como usar o zk com este servlet controle ?
este e o crud completo como jogo isto para o formulario


package control;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import persistence.PessoaDao;

import entity.Pessoa;

public class Controle extends HttpServlet {
private static final long serialVersionUID = 1L;

public Controle() {
// TODO Auto-generated constructor stub
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
execute(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
execute(request, response);
}

protected void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

try{

String cmd = request.getParameter("cmd");

if(cmd.equalsIgnoreCase("gravar")){

Pessoa p = new Pessoa();
p.setNome(request.getParameter("nome"));
p.setEmail(request.getParameter("email"));
p.setIdade(new Integer(request.getParameter("idade")));

new PessoaDao().save(p);

request.setAttribute("msg", "Gravado com sucesso!");
request.getRequestDispatcher("index.jsp").forward(request, response);

}else if(cmd.equalsIgnoreCase("listar")){

List<Pessoa> lista = new PessoaDao().findAll();
request.setAttribute("lista", lista);
request.getRequestDispatcher("listar.jsp").forward(request, response);
}else if(cmd.equalsIgnoreCase("editar")){

Integer cod = new Integer(request.getParameter("id"));

Pessoa p = new PessoaDao().findByCod(cod);

if(p != null){
request.setAttribute("pessoa", p);
request.getRequestDispatcher("editar.jsp").forward(request, response);
}else{
throw new Exception("Pessoa nao encontrada");
}

}else if(cmd.equalsIgnoreCase("alterar")){

Pessoa p = new Pessoa();

p.setNome(request.getParameter("nome"));
p.setEmail(request.getParameter("email"));
p.setIdade(new Integer(request.getParameter("idade")));

p.setId(new Integer(request.getParameter("id")));

new PessoaDao().update(p);
request.setAttribute("msg", "Editado com sucesso");
request.getRequestDispatcher("index.jsp").forward(request, response);

}else if(cmd.equalsIgnoreCase("excluir")){

Pessoa p = new Pessoa();
p.setId(new Integer(request.getParameter("id")));

new PessoaDao().delete(p);

request.setAttribute("msg", "Excluido com sucesso!");
request.getRequestDispatcher("index.jsp").forward(request, response);

}

}catch (Exception e) {
request.setAttribute("msg", "Erro: " + e.getMessage());
request.getRequestDispatcher("index.jsp").forward(request, response);
}

}

}

Fabiosimao
4 Jan 2012 23:24:02 GMT
4 Jan 2012 23:24:02 GMT

Da forma como está implementado não.

Um controlador no ZK é uma class que descende da classe Composer. Normalmente estende-se a classe GenericForwardComposer para beneficiar de algumas facilidades.

Dá uma olhada na documentação sobre controladores: ZK Essentials

Espero ter sido útil

rsantik
8 Jan 2012 07:39:17 GMT
8 Jan 2012 07:39:17 GMT

Dá uma olhada nesse link abaixo.

Na verdade o ZK trabalha de maneira diferente, trabalha com a concepção de eventos..... então cada componente da tela tem seu evento.
Então para gravar, por exemplo, não irei passar uma "cmd" para o servlet, e este verificará o que deverá fazer..... No ZK, quando você apertar o botão Salvar, irá disparar um EventListener(mais ou menos como acontece com uma aplicação desktop), e neste método de evento, você poderá chamar o método para salvar os dados.

Estou mais ativo no GUJ, www.guj.com.br


http://www.guj.com.br/java/261327-zk-estudio#1364874