Bom dia pessoal,
estou tendo um problema para usar jstl em páginas jsp. O material de apoio disponibilizado a mim é muito fraco, por isso as dificuldades. Bom é o seguinte, eu tenho uma classe RoupasDAO no qual tem faço um select no banco e guardo em uma lista,depois preciso mostrar os dados dessa lista em um combobox, via scriptlets eu consigo mas preciso usar jstl.
Segue o Código.
RoupaDAO
[code]
public class RoupaDAO{
private Connection conn;
private PreparedStatement stmtListaRoupa;
public RoupaDAO() throws SQLException, ClassNotFoundException {
this.conn = (Connection) new ConnectionFactory().getConnection();
stmtListaRoupa = (PreparedStatement) conn.prepareStatement("SELECT * from R001");
}
public List<Roupa> ListaNomeRoupa(){
try{
List<Roupa> listaRoupa = new ArrayList<Roupa>();
ResultSet rs = stmtListaRoupa.executeQuery();
while(rs.next()){
Roupa roupa = new Roupa();
roupa.setR001_nome(rs.getString("R001_nome"));
roupa.setR001_preco(rs.getString("R001_preco"));
listaRoupa.add(roupa);
}
stmtListaRoupa.close();
rs.close();
return listaRoupa;
}catch (SQLException e) {
throw new RuntimeException(e);
}
}
}[/code]
Jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*, java.io.*,java.lang.*, java.util.Vector, java.util.ArrayList"%>
<%@page import="controller.*" %>
<%@page import="model.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="dao" class="model.RoupaDAO"/>
<jsp:useBean id="rps" class="controller.Roupa"/>
<!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=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="Lavanderia2.css">
<title>Novo Pedido</title>
</head>
<body>
<div id="form-novo-pedido" style="">
<form action="ServletNovoPedido" method="POST">
<table border="0" cellpadding="5px" cellspacing="5px">
<tr>
<td><label>Roupa</label></td>
<td>
<select class="inputs" name="roupa" value="">
<%
List<Roupa> nome = dao.ListaNomeRoupa();
for (Roupa roupa : nome)
{
%>
<option value="<%=roupa.getR001_nome()%>"><%=roupa.getR001_nome()%></option>
<%
}
%>
</select>
</td>
</tr>
<tr>
<td><label>Prazo</label></td>
<select class="inputs" name="prazo">
<c:forEach var="p" items="${dados}">
<option value="${p.R001_nome}">${p.R001_nome}</option>
</c:forEach>
</tr>
<tr>
<td>
<input type="submit" class="buttons" value="Adicionar" />
<input type="reset" class="buttons" value="Limpar" />
</td>
</tr>
</table>
</body>
</html>
Aqui está meu método doPost da servlet, ainda não entendi muito bem como é feito o transporte dessa lista para ela chegar no jsp.
Servlet
[code]
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String roupa = request.getParameter("roupa");
int quantidade = Integer.parseInt(request.getParameter("quantidade"));
float valor = Float.parseFloat(request.getParameter("valor"));
int prazo = Integer.parseInt(request.getParameter("prazo"));
NovoPedido novo = new NovoPedido();
novo.setRoupa(roupa);
novo.setQuantidade(quantidade);
novo.setValor(valor);
novo.setPrazo(prazo);
try {
NovoPedidoDAO dao = new NovoPedidoDAO();
dao.insere(novo);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
try {
RoupaDAO dao = new RoupaDAO();
List prazo1 = (List) dao.ListaNomeRoupa();
request.setAttribute("dados", prazo1);
RequestDispatcher rd = getServletContext().getRequestDispatcher("NovoPedido2.jsp");
rd.forward(request, response);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}[/code]