Fórum Enviar parametro para um ArrayList #419732
11/07/2012
0
Eis o método da minha classe DAO
Preciso enviar o id que está no meu jsp
public List<Evento> getLista1() {
try {
List<Evento> eventos = new ArrayList<Evento>();
Evento evev =new Evento();
PreparedStatement stmt = (PreparedStatement) this.connection.prepareStatement(SELECT `nome_colaborador` FROM `v_evento_col` WHERE id_evento = ?);
stmt.setString(1, evev.getId_evento());
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Evento evento = new Evento();
evento.setNome_colaborador(rs.getString(nome_colaborador));
eventos.add(evento);
}
rs.close();
stmt.close();
return (eventos);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
Algum,a sugestão?
Valdemir Nunes
Curtir tópico
+ 0Posts
12/07/2012
Davi Costa
att Davi
Gostei + 0
12/07/2012
Valdemir Nunes
JSP(lista eventos)
<tbody >
<c:forEach var=evento items=${dao.lista}>
<tr> <td>${evento.id_evento}</td>
<td>${evento.nome_evento}</td>
<td>${evento.nome_empresa}</td>
<td>${evento.email}</td>
<td> <fmt:formatDate value=${evento.getData_in().getTime()} pattern=dd/MM/yyyy /></td>
<td> <fmt:formatDate value=${evento.getData_out().getTime()} pattern=dd/MM/yyyy /></td>
<!-- passa dados para atualizar -->
<td><a href=AtualizaEvento.jsp?id_evento=${evento.id_evento}
&nome_evento=${evento.nome_evento}&email=${evento.email}&nome_empresa=${evento.nome_empresa}& nome_colaborador=${evento.nome_colaborador}
&data_in= <fmt:formatDate value=${evento.getData_in().getTime()} pattern=dd/MM/yyyy />
&data_out=<fmt:formatDate value=${evento.getData_out().getTime()} pattern=dd/MM/yyyy />>EDITAR</a></td>
</tr>Repare que há todas as informações, exceto os colaboradores, pois são varios para um mesmo evento
Agora veja a pagina na qual serão mostradas essas informações:
<form id=form_437856 class=appnitro method=post action=>
<div class=form_description>
<h2>ATUALIZAR</h2>
<p></p>
</div>
<ul>
<li id=li_1><label class=description for=element_1>Evento:
</label>
<div>
<input id=element_1 name=nome_evento
class=element text medium type=text maxlength=255
value=<%=request.getParameter(nome_evento)%> />
</div></li>
<li id=li_4><label class=description for=element_4>Email:
</label>
<div>
<input id=element_4 name=nome_empresa
class=element text medium type=text maxlength=255
value=<%=request.getParameter(email)%> />
</div></li>
<li id=li_3><label class=description for=element_3>Empresa:
</label>
<div>
<input id=element_3 name=element_3 class=element text medium
type=text maxlength=255
value=<%=request.getParameter(nome_empresa)%> />
<li id=li_2><label class=description for=element_2>Data
IN: </label>
<div>
<!-- codigo na tag -->
<caelum:data_in id=data_in />
</div></li>
<li id=li_5><label class=description for=element_5>Data
OUT: </label>
<div>
<!-- codigo na tag -->
<caelum:data_out id=data_out />
</div></li>
<li class=buttons><input type=hidden name=form_id
value=437856 /> <input id=saveForm class=button_text
type=submit name=submit value=Atualizar /></li>
</ul>
<!-- essa é a lista que preciso popular, porém não sei como passar o id para aminha classe DAO fazer o select -->
<div class=tabela>
<table>
<input type=hidden name=logica value=CadastraEvento />
<input id=element_3 name=element_3 class=element text mediumtype=hidden maxlength=255
value=<%=request.getParameter(id_evento)%> />
<th>Colaboradores</th>
<tr>
<td><c:forEach var=evento items=${dao.selectDAO()}>
${evento.nome_colaborador}<br>
</c:forEach>
</div></td>
</tr>
</table>
</div>
</form>
<div id=footer></div>
</div>
<img id=bottom src=form/bottom.png alt=>
</body>
</html>Qual quer ajuda será bem vinda!!
Desde já agradeço!!
Gostei + 0
12/07/2012
Davi Costa
Quando chamar o link ele vai identificar quais da lista estarão com esse atributo true.
Pode ser uma idéia espero ter ajudado
att Davi
Gostei + 0
17/07/2012
Valdemir Nunes
Desculpe a demora, realmente estou com pouco tempo para entrar no forum.
Obrigado Davi pela ajuda.
Porém gostaria de perguntar se não há uma forma de fazer isso utilizando (JSP:forward), pois seria mauito mais fácil e sem complicação.
Alguém aí já utilizou para este fim.
Por gentileza, postem exemplos. Ficaria muito agradecido.
Gostei + 0
23/07/2012
Valdemir Nunes
Desculpem não ter dado prosseguimento, realmente estou com tempo muito escasso trabalhando em mil coisas.
É o seguinte acredito que uma forma bastante fácil de passar o parâmetro para a minha lista seria via URL
veja o JSP
<a href=AtualizaEvento.jsp?Id_evento=${evento.id_evento}&logica=AtualizaEvento>EDITAR</a>Agora recupero esse ID na minha página que exibe as informações e envio diretamente para a minha lista
Repare no outro JSP:
<% String teste = request.getParameter(Id_evento); %>
<%int num1 = Integer.parseInt(teste); %>
<c:forEach var=evento items=${dao.selectDAO(num1)}>
${evento.nome_colaborador}
Mas aí é que vem o problema tenho erro na seguinte linha
<%int num1 = Integer.parseInt(teste); %>
Veja o erro
java.lang.NumberFormatException: null
Sei que essa excessão é disparada quando tento converter para inteiro um valor null, porém se eu mandar imprimir a variavel (teste) ela de fato tem o (ID) que foi passado.
Alguém sabe como contornar esse problema?
Desde já agradeço a Atencão e boa vontade de todos
Fico no aguardo, qualquer solução será bemvinda
Gostei + 0
23/07/2012
Valdemir Nunes
Já consegui resolver, o problema era que eu estava tentando utilizar uma variavel criada com scriptlet, dentro da EL, porisso não enviava valor algum para minha servlet.
Apenas adcionei as seguintes linhas na minha jsp e pronto
<% String id_evento = ; id_evento = request.getParameter(Id_evento); pageContext.setAttribute(id_evento, id_evento); %>
Assim consegui passar o parametro para a lista veja:
<td><c:forEach var=evento items=${dao.getSelect(id_evento)}>
${evento.nome_colaborador}<br>
</c:forEach>Agradeço a colaboração! Abraço
Gostei + 0
24/07/2012
Davi Costa
Muito bom postar sua solução, sucesso nos estudos
att Davi
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)