Salve a tutti!!
rieccomi di nuovo qua con un'altro quesito sulle jsp.
Descrivo in maniera molto schematica il problema:
1- ho una pagina jsp che inserendo un testo in una form richiama una servlet.
2- la servlet esegue un interrogazione che mi resituisce tutti nomi di una tabella( interrogazione che avviene con successo) e li mette in un array di stringhe
3- la servlet deve richiamare una pagina A.jsp e passargli i risultati dell'interrogazione, e visualizzarli sotto forma tabellare ( o in qualsiasi altro modo).
Problema: non me li visualizza, non riesco a capire come fare a richiamare dalla pagina A.jsp i dati contenuti nell'array.
Sapete darmi qualche dritta???
grazie
Vi posto il codice
e la pagina A.jspcodice:package controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletResponse; import javax.servlet.RequestDispatcher; import business.User; import dati.UserIO; import java.sql.*; import java.util.*; import java.io.*; import java.lang.*; /** * Servlet implementation class for Servlet: SimpleController * */ public class SimpleController extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { String[] lista = new String[200]; /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#HttpServlet() */ public SimpleController() { super(); } /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nome = request.getParameter("nome"); /* parte aggiunta*/ Connection con=null; ResultSet rst=null; Statement stmt=null; /* driver per collegamento a db*/ String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; try { Class.forName(driver).newInstance(); } catch (InstantiationException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } try{ String url="jdbc:sqlserver://127.0.0.1:1433;databaseName=admin;user=UMBRIA;password=admin"; con=DriverManager.getConnection(url); stmt=con.createStatement(); } catch(Exception e){ } try { if(nome!=null) rst=stmt.executeQuery("select nome FROM Tabella "); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } int i=0; try { while(rst.next()){ lista[i]=rst.getString("codice_istat"); i++; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } /* fine parte aggiunta*/ request.setAttribute("lista", lista); RequestDispatcher dispatcher; dispatcher = getServletContext().getRequestDispatcher( "/A.jsp"); dispatcher.forward(request,response); } private String getString(String string) { // TODO Auto-generated method stub return null; } /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
codice:<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Informazioni utente salvate su file</title> </head> <body> <h1>Dati utente</h1> Ecco le informazioni relative all'utente inserito:</p> <jsp:useBean id="user" scope="session" class="business.User"> </jsp:useBean> <table cellspacing="5" cellpadding="5" border="1"> <tr> <td align="right">Nome:</td> <td> <c:forEach items="${requestScope.lista}" var="var"> <c:out value="${var}"/> - <c:out value="${var}"/> </c:forEach> </td> </tr> </table> <form action="index.html" method="post"> <input type="submit" value="Nuovo Inserimento" /> </form> </body> </html>

Rispondi quotando