Olá Pessoal!
Estou desenvolvendo um sistema de conciliação bancária, onde preciso de um formulário para fazer os lançamentos de débitos e créditos. O formulário na pagina jsp segue abaixo:
<%@page import="br.com.jairo.modelo.Usuarios"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.List"%>
<%@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 uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib tagdir="/WEB-INF/tags" prefix="tagsJairo" %>
<tagsJairo:verificaSessao/>
<c:import url="cabecalho.jsp"/>
form id="formCredito" method="post" action="LancamentoCRUD">
h1>Credito</h1>
label for="credata">Data.:</label>
input type="date" name="credata" id="credata" onkeypress="formata_mascara(this,'##/##/####'); return Numero(event);" placeholder="dd/mm/aaaa" pattern="[0-9]{2}/[0-9]{2}/[0-9]{4}" required size="10" maxlength="10" value="${param.credata}" /><br><br>
label for="concodigo">Conta.:</label>
input type="text" name="concodigo" id="concodigo" required size="3" maxlength="3" value="${param.concodigo}"/>
select name="selectConta" id="selectConta">
tagsJairo:listaContasSelect/>
/select>
label for="crevalor">Valor:</label>
input type="text" name="crevalor" id="crevalor" required size="12" maxlength="12" value="${param.crevalor}"/><br><br>
label for="crehistorico">Historico:</label>
input type="text" name="crehistorico" id="crehistorico" required size="30" maxlength="30" value="${param.crehistorico}"/><br>
input type="submit" name="acao" value="novo" />--> este botão deixei oculto para testar somente o botão do formulario abaixo mais não funcionou!
/form>
form id="formDebito" method="post" action="LancamentoCRUD">
h1>Debito</h1>
label for="debdata">Data.:</label>
input type="date" name="debdata" id="debdata" onkeypress="formata_mascara(this,'##/##/####'); return Numero(event);" placeholder="dd/mm/aaaa" pattern="[0-9]{2}/[0-9]{2}/[0-9]{4}" required size="10" maxlength="10" /><br><br>
label for="concodigo">Conta.:</label>
input type="text" name="concodigo" id="concodigo" required size="3" maxlength="3" value="${param.concodigo}"/>
select name="selectConta" id="selectConta">
tagsJairo:listaContasSelect/>
/select>
label for="debvalor">Valor:</label>
input type="text" name="debvalor" id="debvalor" required size="12" maxlength="12" /><br><br>
label for="debhistorico">Historico:</label>
input type="text" name="debhistorico" id="debhistorico" required size="30" maxlength="30"/><br>
input type="submit" name="acao" value="novo" />
/form>
c:import url="rodape.jsp"/>
Obs.: O SUBMIT DEVE CHAMAR APENAS UMA SERVLET QUE ESTÁ DESCRITA ABAIXO:
public class LancamentoCRUD extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, ParseException, SQLException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
RequestDispatcher rd = null;
String creCodigo = request.getParameter("crecodigo");
String creData = request.getParameter("credata");
String conCodigo = request.getParameter("concodigo");
String creValor = request.getParameter("crevalor");
String creHistorico = request.getParameter("crehistorico");
String debCodigo = request.getParameter("debcodigo");
String debData = request.getParameter("debdata");
String conCodigoDeb = request.getParameter("concodigo");
String debValor = request.getParameter("debvalor");
String debHistorico = request.getParameter("debhistorico");
Creditos creditos = new Creditos();
if (creCodigo != null) {
creditos.setCreCodigo(Integer.parseInt(creCodigo));
}
DateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
if (creData != null) {
Date creDataFormatada = formatoData.parse(creData);
creditos.setCreData(creDataFormatada);
}
if (conCodigo != null) {
creditos.setConCodigo(Integer.parseInt(conCodigo));
}
if (creValor != null) {
creditos.setCreValor(Double.parseDouble(creValor));
}
creditos.setCreHistorico(creHistorico);
CreditoDAO creditoDAO = new CreditoDAO();
DebitoDAO debitoDAO = new DebitoDAO();
Debitos debitos = new Debitos();
if (debCodigo != null) {
debitos.setDebCodigo(Integer.parseInt(debCodigo));
}
//DateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy");
if (debData != null) {
Date debDataFormatada = formatoData.parse(debData);
debitos.setDebData(debDataFormatada);
}
if (conCodigo != null) {
debitos.setConCodigo(Integer.parseInt(conCodigo));
}
if (debValor != null) {
debitos.setDebValor(Double.parseDouble(debValor));
}
debitos.setDebHistorico(debHistorico);
//Verificar qual é a ação
String acao = request.getParameter("acao");
if (acao == null) {
acao = "listarCredito";
}
if (acao.equals("alterar")) {
//contaDAO.alteraConta(contas);
//rd = request.getRequestDispatcher("/ContaCRUD?acao=listarConta");
} else if (acao.equals("excluir")) {
//contaDAO.excluiConta(contas);
//rd = request.getRequestDispatcher("/ContaCRUD?acao=listarConta");
} //else if (acao.equals("listarConta")) {
//int numPagina = 1;
//if (request.getParameter("numpagina") != null) {
//numPagina = Integer.parseInt(request.getParameter("numpagina"));
//}
else if (acao.equals("novo")) {
creditoDAO.novaCredito(creditos);
debitoDAO.novoDebito(debitos);
rd = request.getRequestDispatcher("/lancamento.jsp");
}
rd.forward(request, response);
}
Estou neste exato momento pensando em criar um formulário pai que pegue os dois formulários acima, e nele criar o submit chamando o servlet, será se vai funcionar?