Olá, estou desenvolvendo uma aplicação utilizando JSP e Java Beans, o problema que tenho é o seguinte: Tenho uma página JSP onde dou um submit para um Servlet que está sendo mapeada como session no jsp:useBean da página, nesta servlet, crio um objeto que contem uma lista dos dados que vão sendo salvos a cada requisição, um dos problemas é que preciso pegar estes dados em outra página JSP, e quando dou um jsp:useBean, deve estar criando novamente o bean e assim a lista está sempre vazia… parece que cria quando dou um submit e também quando abro a página onde tem o jsp:useBean, o que pode estar ocasionando isso?
public class GravaMedicamentoServlet extends HttpServlet {
private ReceitasBean rbl;
public GravaMedicamentoServlet() {
System.out.println(" criu o GravaMedicamentoServlet");
rbl = new ReceitasBean();
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Double peso;
Double dosekg;
Double concentracao;
peso = Double.valueOf(request.getParameter("peso"));
dosekg = Double.valueOf(request.getParameter("dosekg"));
concentracao = Double.valueOf(request.getParameter("concentracao"));
Receita r = new Receita();
r.setIdMedicamento(1l);
r.setPeso(peso);
r.setConcentracao(concentracao);
Integer intervalo = Integer.valueOf(request.getParameter("intervalo"));
r.setIntervalo(intervalo);
rbl.getReceitas().add(r);
response.sendRedirect("receita.jsp");
}
public List<Receita> getReceitasDAO(){
return rbl.getReceitas();
}
}
trecho do código da página JSP, onde sempre está vazia a lista de receitas
[code] <jsp:useBean id=“receitas” class=“br.com.medplus.servlet.GravaMedicamentoServlet” scope=“session”/>
<ul data-role="listview">
<% for (Receita r: receitas.getReceitasDAO()) { %>
<li> <%= r.getReceita() %></li>
<% } %>
</ul>[/code]
[code]public class ReceitasBean {
List<Receita> receitas;
public ReceitasBean(){
System.out.println("criou o receitas bean");
receitas = new ArrayList<Receita>();
}
public List<Receita> getReceitas() {
return receitas;
}
public void setReceitas(List<Receita> receitas) {
this.receitas = receitas;
}
}[/code]