Bom dia Senhoras e Sendores,
Tenho uma página listando os dados do meu banco de dados através da taglib Displaytag, preciso pegar os dados de uma linha e envia-los para um formulário o qual é responsável pela alteração dos dados, estou completando o 4o dia e totalizando prováveis 20h nesta tarefa. Para complicar um pouco mais (ou não), a página que é responsável pela alteração é incorporada à página da lista através de ajax, então segue os códigos:
[color=darkred] lista-contatos.jsp [/color]
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
<%@ page contentType="text/html; charset=utf-8" language="java"%>
<jsp:include page="inc/header.jsp" flush="true" />
<jsp:directive.page import="org.displaytag.sample.*" />
<jsp:useBean id="dao" class="br.com.agenda.dao.ContatosDAO" />
<html>
<head>
<script language="javascript" src="js/ajax.js"></script>
<script language="javascript" src="js/instrucao.js"></script>
<link rel="stylesheet" href="css/displaytag.css" type="text/css"/>
<title>Agenda online</title>
</head>
<body>
<% //Pog para setar o atributo que será usado pela displaytag
request.setAttribute("contatos", dao.getLista());
%>
<display:table name="contatos" class="displaytag.css" defaultsort="1" >
<display:column property="id" title="ID" />
<%
java.lang.System.out.println();
%>
<display:column property="nome" title="Nome" sortable="true" />
<display:column property="email" title="E-mail" />
<display:column property="telRes" title="Tel. Residêncial" />
<display:column property="telCom" title="Tel. Comercial" />
<display:column property="telCel" title="Celular" />
<display:column property="endereco" title="Endereço" />
<display:column property="dataNascimento.time"
title="Data de Nascimento" format="{0,date,dd/MM/yyyy}" />
<display:column>
<div id="menu"><a >Alterar</a></div>
</display:column>
<display:column>
<a >Remove</a>
</display:column>
<display:column>
</display:column>
</display:table>
<form action="adiciona-contato.jsp"><input type="submit"
value="Adicionar" /> <input type="hidden"
value="mvc?logica=AdicionaContatoLogic" /></form>
<br><br>
<div id="conteudo_mostrar"></div>
</body>
</html>
[color=darkred] altera-contatos.jsp [/color]
<form action="mvc?logica=AlteraContatoLogic">
<table width="331" border="1">
<tr>
<td width="149"> </td>
<td width="57">Atual</td>
<td width="103">Novo</td>
</tr>
<tr>
<td>Nome:</td>
<td> </td>
<td><input name="nome" type="text" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>E-mail:</td>
<td> </td>
<td><input name="email" type="text" id="email" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Tel. Res.:</td>
<td> </td>
<td><input name="telRes" type="text" id="telRes" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>Tel. Com.:</td>
<td> </td>
<td><input name="telCom" type="text" id="telCom" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>Tel. Cel.:</td>
<td> </td>
<td><input name="telCel" type="text" id="telCel" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>Endereço:</td>
<td> </td>
<td><input name="endereco" type="text" id="endereco" size="50" maxlength="50" /></td>
</tr>
<tr>
<td>Data de nascimento:</td>
<td> </td>
<td><input name="dataNascimento" type="text" id="dataNascimento" size="10" maxlength="10" /></td>
</tr>
</table>
<input type="hidden" name="id" value="xxxxx" />
</form>
[color=darkred] instrucao.js [/color]
function abrirPag(valor){
var url = valor;
xmlRequest.onreadystatechange = mudancaEstado;
xmlRequest.open("GET",url,true);
xmlRequest.send(null);
if (xmlRequest.readyState == 1) {
document.getElementById("conteudo_mostrar").innerHTML = "<img >";
}
return url;
}
function mudancaEstado(){
if (xmlRequest.readyState == 4){
document.getElementById("conteudo_mostrar").innerHTML = xmlRequest.responseText;
}
}
Se você puder colaborar com código pronto, código pela metade, uma idéia, um link, uma apostila, uma moedinha de 5 centavos, eu agradeço, se não puder ajudar, agradeço da mesma forma. Caso a idéia do ajax atrapalhe muito nesta tarefa, não tem problema se o formulário de alteração esteja em outra página jsp
[color=orange]Imagens: [/color]