Primefaces + servlet

1 resposta
Onimatsu

Boa tarde pessoal.
Seguindo as orientações da apostila fj-21 capítulo 9 MVC onde se passa um campo oculto (linha 12) para a servlet que irá criar uma instância da classe que irá executar a lógica de negócios apropriada (adicionar, remover, editar...) em tempo de execução.
Tenho a seguinte dúvida: O que eu preciso fazer para integrar essa mesma funcionalidade em primefaces?

<form action="servlet" method="post">
            <p>&lt;input id="nome" type="text" aria-required="true" tabindex="1" size="22" name="nome"/&gt;
                &lt;label for="nome"&gt;&lt;small&gt;name&lt;/small&gt;&lt;/label&gt;</p>
            <p>&lt;input id="autenticacao" type="text" aria-required="true" tabindex="2" size="22" name="autenticacao"/&gt;
                &lt;label for="autenticacao"&gt;&lt;small&gt;authentication&lt;/small&gt;&lt;/label&gt;</p>
            <p>&lt;input id="senha" type="text" aria-required="true" tabindex="2" size="22" name="senha"/&gt;
                &lt;label for="senha"&gt;&lt;small&gt;password&lt;/small&gt;&lt;/label&gt;</p>
            <p>&lt;input id="email" type="email" aria-required="true" tabindex="2" size="22" name="email"/&gt;
                &lt;label for="email"&gt;&lt;small&gt;email&lt;/small&gt;&lt;/label&gt;</p>
            <p>&lt;input id="data" type="date" name="data"/&gt;
                &lt;label for="data"&gt;&lt;small&gt;birthdate&lt;/small&gt;&lt;/label&gt;</p>
            <p>&lt;input type="hidden" name="logica" value="AdicionaUsuarioLogic"/&gt;
                &lt;input id="enviar" type="submit" value="Gravar" name="enviar"/&gt;</p>
        &lt;/form&gt;
public class AdicionaUsuarioLogic implements LogicaInterface {

    @Override
    public void executa(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String nome = request.getParameter("nome");
        String autenticacao = request.getParameter("autenticacao");
        String senha = request.getParameter("senha");
        String email = request.getParameter("email");
        String data = request.getParameter("data");

        Usuario usuario = new Usuario();
        usuario.setNome(nome);
        usuario.setAutenticacao(autenticacao);
        usuario.setSenha(senha);
        usuario.setEmail(email);       
        usuario.setDataNascimento(DataUtil.converteStringEmCalendar(data, DataUtil.DATE));

        Connection connection = (Connection) request.getAttribute("conexao");
        UsuarioDao dao = new UsuarioDao(connection);
        dao.adiciona(usuario);
    }
}
public class ControllerServlet extends HttpServlet {

    /**
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String parametro = request.getParameter("logica");
        String nomeDaClasse = "br.com.sistema.logica." + parametro; 

        try {
            Class classe = Class.forName(nomeDaClasse);
            LogicaInterface logica = (LogicaInterface) classe.newInstance();
            logica.executa(request, response);
        } catch (Exception e) {
            throw new ServletException(e);
        }
    }
}

1 Resposta

Roselito_Favero_da_S

O Primefaces não vai te dar essas funcionalidades. Ele é apenas um framework de componentes voltados para a camada de visão… as outras camadas ficam por sua conta.

Ou seja, você pode apresentar os dados de um List em forma de DataTable usando Primefaces, mas quem vai criar e manter os elementos da List é o seu managed bean…

Criado 6 de outubro de 2013
Ultima resposta 7 de out. de 2013
Respostas 1
Participantes 2