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
codice:
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);
}
}
e la pagina A.jsp
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>