Erro Java Web MVC

2 respostas
Marcos_Roberto_DJ

Olá pessoal,lá estou eu aqui novamente precisando da ajuda de vcs.
Gente…é o seguinte:
Estou desenvolvendo um trabalho pra faculdade usando o padrão mvc,segue o código:

nesse formulário faço uma busca do projeto cadastrado

<%-- 
    Document   : cadprojetopasso2
    Created on : 16/11/2011, 09:07:39
    Author     : marcos
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Cadastro de Projetos</h1>
        <h3>Para começar informe o tamanho da sua propriedade</h3>
        <form action="mvc" method="POST" >


            Largura:<input type="text" name="largura" value=""size="10" />
            Comprimento:<input type="text" name="comprimento" value=""size="10" />

            <input type="hidden" name="logica" value="Calculo" />
            <input type="submit" value="inserir"  />
        </form>

        <h3>Buscar propriedades cadastradas</h3>
        <form action="mvc" method="POST">
          Nome:<input type="text" name="nome" size="50"/>
            <input type="hidden" name="logica" value="PesquisaProjeto" />
            <input type="submit" value="Pesquisar" name="okPesquisa" />

        </form>
    </body>
</html>

Em seguida o parâmetro é enviado para a classe lógica “PesquisaProjeto” que me retornará uma lista com os projetos que contenha o parâmetro digitado:

<%-- 
    Document   : listaporparametroproj
    Created on : 22/11/2011, 21:03:10
    Author     : Marcos2
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
    <body>


        <table>
            <tr>
                <td>Cód.Projeto</td>
                <td>Nome do projeto</td>
                <td>Cód.Propriedade</td>
                <td>Latitude</td>
                <td>Longitude</td>
                <td>Mudas</td>
                <td>Ciclo1</td>
                <td>Ciclo2</td>
                <td>Ciclo3</td>
                <td>Ciclo4</td>
            </tr>



            <c:forEach var="projeto" items="${projeto}">
                <tr bgcolor="ggee99">
                    <td>${projeto.codigoproj}</td>
                    <td>${projeto.nome_proj}</td>
                    <td>${projeto.propriedades_codigoprop}</td> 
                    <td>${projeto.latitude}</td>
                    <td>${projeto.longitude}</td>
                    <td>${projeto.mudas}</td>
                    <td>${projeto.ciclo_1}</td>
                    <td>${projeto.ciclo_2}</td>
                    <td>${projeto.ciclo_3}</td>
                    <td>${projeto.ciclo_4}</td>
                    <td>
                        <form action="mvc" method="POST">
                            <input type="hidden" name="codigo" value="${projeto.codigoproj}" />
                            <input type="hidden" name="nomeproj" value="${nome_proj}" />
                            <input type="hidden" name="lista" value="${propriedades_codigoprop}" />
                            <input type="hidden" name="latitude" value="${latitude}" />
                            <input type="hidden" name="longitude" value="${longitude}" />
                            <input type="hidden" name="mud" value="${mudas}" />
                            <input type="hidden" name="cc1" value="${ciclo_1}" />
                            <input type="hidden" name="cc2" value="${ciclo_2}" />
                            <input type="hidden" name="cc3" value="${ciclo_3}" />
                            <input type="hidden" name="cc4" value="${ciclo_4}" />
                            <input type="hidden" name="logica" value="PesquisaProjeto" />
                            <input type="submit" value="Alterar"name="okButtonLista" />
                        </form>
                    <td>
                        <form action="mvc" method="POST">
                            <input type="hidden" name="codigo" value="${projeto.codigoproj}" />
                            <input type="hidden" name="logica" value="ExcluirProj" />
                            <input type="submit" value="Excluir" />
                        </form>
                    </td>
                </tr>
            </c:forEach >
        </table>
        <a href="index.jsp">Voltar a página inicial</a>

classe lógica:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.marcos.mvc.logica;

import br.com.marcos.bean.ProjetoBean;
import br.com.marcos.dao.ProjetoDao;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author marcos
 */
public class PesquisaProjeto implements Logica {

    public void executa(HttpServletRequest req, HttpServletResponse res) throws Exception {

        String pagina = "";

        List<ProjetoBean> projeto = new ArrayList<ProjetoBean>();
        ProjetoDao pjd = new ProjetoDao();
        projeto = pjd.ListarProjetos2("%" + req.getParameter("nome") + "%");


        if (req.getParameter("okPesquisa") != null) {
            req.setAttribute("projeto", projeto);
            pagina = "listaporparametroproj.jsp";

        } else if (req.getParameter("okButtonLista") != null) {
            for (int i = 0; i < projeto.size(); i++) {

                req.setAttribute("codigo", projeto.get(i).getCodigoproj());
                req.setAttribute("nomeproj", projeto.get(i).getNome_proj());
                req.setAttribute("lista", projeto.get(i).getPropriedades_codigoprop());
                req.setAttribute("latitude", projeto.get(i).getLatitude());
                req.setAttribute("longitude", projeto.get(i).getLongitude());
                req.setAttribute("mud", projeto.get(i).getMudas());
                req.setAttribute("cc1", projeto.get(i).getCiclo_1());
                req.setAttribute("cc2", projeto.get(i).getCiclo_2());
                req.setAttribute("cc3", projeto.get(i).getCiclo_3());
                req.setAttribute("cc4", projeto.get(i).getCiclo_4());

                pagina = "alteraprojeto.jsp";

            }


        }
        RequestDispatcher requestDispatcher = req.getRequestDispatcher(pagina);
        requestDispatcher.forward(req, res);
    }
}

formulário de alteração:

<%-- 
    Document   : alteraprojeto
    Created on : 16/11/2011, 23:46:05
    Author     : marcos
--%>

<%@page import="br.com.marcos.bean.ProjetoBean"%>
<%@page import="br.com.marcos.bean.PropriedadeBean"%>
<%@page import="java.util.List"%>
<%@page import="br.com.marcos.dao.PropriedadeDao"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

</head>
<body>
    <h1>Cadastro de Propriedade</h1>
    <%
                ProjetoBean pjb = new ProjetoBean();
    %>

    <form action="mvc">
        Código: <input type="text" name="codigo" value="${codigoproj}" /><br>
        Nome do projeto:<input type="text" name="nomeproj" value="${nome_proj}"  />
        Propriedade:  <select name="lista">

            <%

                        PropriedadeDao prcn = new PropriedadeDao();
                        List<PropriedadeBean> pbbn = prcn.listarPropriedades2();
                        for (PropriedadeBean pbean : pbbn) {
            %>

            <option value="${propriedades_codigoprop}" ><%=pbean.getNome()%></option>

            <%
                        }

            %>

        </select>
        <br>
        Latitude: <input type="text" name="latitude" value="${latitude}" />
        Longitude: <input type="text" name="longitude" value="${longitude}"/>

        <h3>Valor estimado de Mudas:</h3>
        Total: <input type="text" name="mud" value="${mudas}" />
        <h3>Estimativa em toneladas da produção por ciclo:</h3>

        Ciclo1: <input type="text" name="cc1" value="${ciclo_1}" />
        Ciclo2: <input type="text" name="cc2" value="${ciclo_2}" /><br>
        Ciclo3: <input type="text" name="cc3" value="${ciclo_3}" />
        Ciclo4: <input type="text" name="cc4" value="${ciclo_4}" /><br>
        <input type="hidden" name="logica" value="AlteraProjeto" />
        <input type="submit" value="Alterar" />

    </form>
</body>
</html>

Oque eu não tô conseguindo fazer é o seguinte:
quando eu clicar no botão “okButtonLista” quero que os dados sejam enviados para o formulário de alteração,só que simplesmente o programa volta para a página inicial,e o mais curioso é que o botão de excluir tá funfando direitinho.

alguém pode me ajudar aí pessoal?

desde já agradeço.

2 Respostas

tiago.vt

o botão do editar e do excluir estão usando o mesmo servlet e o mesmo metodo post.
faça um teste remova o form excluir e testa…

Marcos_Roberto_DJ

Continua o mesmo problema,na verdade vai para o mesmo servlet mas as lógicas são diferentes.
tô me baseando na apostila fj-21 da caelum.

Criado 23 de novembro de 2011
Ultima resposta 23 de nov. de 2011
Respostas 2
Participantes 2