L' istruzione request.getAttribute("") è molto differente da request.getParameter(""). La seconda restituisce sempre e solo una stringa (e il parametro può essere settato anche via browser) mentre la prima restituisce un generico Object che può essere settato solo "all'interno" del server, in genere mediante una servlet applicando il pattern MVC. Non è corretto dire
devo passare la jsp alla servlet
è invece corretto dire "devo richiamare la jsp dalla servlet" nel seguente modo:
Codice PHP:
public class Index extends HttpServlet {
...
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
...
ArrayList<user> utenti = new ArrayList<user>();
utenti.add(..);
request.setAttribute("utenti",utenti);
[B]
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/index.jsp"); dispatcher.forward(request, response);
[/B]
}
}
nel browser dovrai richiamare la servlet Index tramite l'url "http://.../Index" (se nel web.xml hai mappato l'url "/Index" con la servlet "Index", ...come avviene di default) e in maniera 'automatica' verrà visualizzata la pagina "index.jsp". Il tutto perchè viene fatto un redirect interno al server che ti permette di settare l'attributo "utenti" alla richiesta.
Ciao