Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Gestire comunicazione tra Action e JSP

    Salve a tutti, ho un problema con la gestione delle informazioni dalla action alle jsp. Praticamente devo effettuare una ricerca su database, quindi faccio una form nella pagina jsp con il metodo "searchAnagrafica.do" . Il codice della pagina .jsp è:

    codice:
    <%@ page import="java.util.*, Portal.Anagrafica" %>
    
     <%  %>
     <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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">
    <title>Stm Portal- Search</title>
    </head>
    <body>
    <table width=100% height=100% border=3 cellpadding=2 cellspacing=0 summary="">
    	<tr>
    		<td colspan="2" width=65% height=16%>
                <h1>Home page di STMPortal:</h1>
                <h2>La Data e l'Ora  di oggi è: <%= new java.util.Date() %></h2></td>
    		<td><%@ include file="testa.jsp" %></td>
    	</tr>
    	<tr>
    		<td width=15%><%@ include file="navigatore.jsp" %></td>
    		<td colspan="2" width=85%><center><h1> Anagrafica  Nuova Persona</h1></center>
    		                          <form action="searchAnagrafica.do" method="POST">
    		                          
    		                          <div align="center">
    		                         <h2> Cognome <input type="text" name="cognome"  >
    		                                 Nome <input type="text" name="nome" ></h2>
    		                         </div>
    		                              <div align="center">
    		                        <h2>Matricola<input type="text" name="matricola"  >
    		                            Qualifica <input type="text" name="qualifica" ></h2>
    		                         </div>
    		                         
    
    
    		                         <div align="center">
    		                          <input type="submit" value="Cerca"  />
    		                          <input type="reset" value="Annulla" />
    		                         </div>
    		                         
    <% if(listaAnagrafica!=null){ %>
    <table>
    		<tr>
    			<th>Cognome</th>
    			<th>Nome</th>
    			<th>Matricola</th>
    			<th>Telefono</th>
    			<th>Qualifica</th>
    			<th>Vedi</th>
    			<th>Elimina</th>
    		</tr>
    		<% for (Anagrafica a : listaAnagrafica) { %>
    			<tr>
    				<th><%= a.getCognome()%></th>
    				<th><%= a.getNome()%></th>
    				<th><%= a.getMatricola()%></th>
    				<th><%= a.getTelefonoLavoro()%></th>
    				<th><%=a.getIdQualifica().getDescrizione()%></th>
    				<th>Vedi</th>
    				
    			</tr>
    		<%}%>
    </table>
    <%} %>
    </form>
    		</td>
    	</tr>
    </table>
    </body>
    </html>
    Mentre il codice della action searchAnagrafica.do è:

    codice:
    public class AzioneSearchAnagrafica extends Azione{
    
    	
    	public String esegui(HttpServletRequest request) throws ServletException {
    		    
    		  			
    				// Creo gli oggetti e li imposto secondo i parametri ricevuti
    				Anagrafica anagrafica = new Anagrafica();
    				anagrafica.setNome(request.getParameter("nome"));
    				anagrafica.setCognome(request.getParameter("cognome"));
    				anagrafica.setMatricola(request.getParameter("matricola"));
    				
    				Qualifica qualifica=new Qualifica();
    				qualifica.setDescrizione(request.getParameter("descrizione"));	
    				anagrafica.setIdQualifica(qualifica);
    				
    				// uso la facade per interrogare il DataBase
    				try {
    					AnagraficaFacade facade = new AnagraficaFacade();
    					List<Anagrafica> listaAnagrafica=facade.esisteDipendente(anagrafica.getNome(), anagrafica.getCognome(),anagrafica.getIdQualifica(), anagrafica.getMatricola());
    					request.getSession().setAttribute("listaAnagrafica", listaAnagrafica);
    				}
    				catch (ModelException ex) {
    					return "errore";
    				}
    				return "searchOK";
    			
    		}
    	}
    Il problema è che non riesco a gestire nella pagina jsp l'informazione registrata in listaAnagrafica....secondo voi dov'è la mia limitazione?
    si accettano aiuti....grazie infinite
    klaudio

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Nella action puoi metteri gli oggetti nella Request o nella Session. Tu metti la tua lista in session. Quindi nella jsp la lista deve essere prelevata dalla session, cosa che non mi sembra tu faccia.
    Quindi dovresti scrivere:


    List<Anagrafica> listaAnagrafica = request.getSession().getAttribute("listaAnagrafica ");
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    purtroppo niente....me lo da come errore....
    altri suggerimenti?

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Originariamente inviato da klaudio85rm
    purtroppo niente....me lo da come errore....
    altri suggerimenti?
    manca il cast... comunque sarebbe carino postare gli errori...
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    allora, scusami se non sono stato troppo chiaro... il succo della situazione è: posso portare attraverso la session una lista dalla classe ActionSearchAnagrafica.java ad una pagina SearchAnagrafica.jsp? inoltre io avevo scritto così:

    <%List<Anagrafica> listaAnagrafica = (List<Anagrafica>) request.getAttribute("listaAnagrafica");%> e mi da al momento del salvataggio questo warning:

    Type Safety: Unchecked cast from Object to List<Anagrafica> ....

    a questo punto quando lo avvio con tomcat a navigo fino a questa pagina SearchAnagrafica.jsp mi esce la pagina di errore dicendo che ho sbagliato tutti i tag...

    inoltre mi da proprio come errore su eclipse quindi prima di mandare tutto in esecuzione:

    <% if(listaAnagrafica!=null){ %> dicendo che listaAnagrafica cannot be resolved ....
    sono stato un pò più chiaro?
    scusa e graazie

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da klaudio85rm
    posso portare attraverso la session una lista dalla classe ActionSearchAnagrafica.java ad una pagina SearchAnagrafica.jsp?
    Certo che sì.

    Originariamente inviato da klaudio85rm
    <%List<Anagrafica> listaAnagrafica = (List<Anagrafica>) request.getAttribute("listaAnagrafica");%>
    A parte che qui lo prendi dalla request mentre nel codice della azione l'attributo lo metti di sessione .... ovviamente non quadra!

    Originariamente inviato da klaudio85rm
    e mi da al momento del salvataggio questo warning:

    Type Safety: Unchecked cast from Object to List<Anagrafica> ....
    Questione dei generics e della "erasure", la tecnica con cui sono implementati. Warning di quel tipo lo puoi solo sopprimere con una apposita annotazione @SuppressWarnings("unchecked").

    Originariamente inviato da klaudio85rm
    a questo punto quando lo avvio con tomcat a navigo fino a questa pagina SearchAnagrafica.jsp mi esce la pagina di errore dicendo che ho sbagliato tutti i tag...

    inoltre mi da proprio come errore su eclipse quindi prima di mandare tutto in esecuzione:

    <% if(listaAnagrafica!=null){ %> dicendo che listaAnagrafica cannot be resolved ....
    sono stato un pò più chiaro?
    Beh, non ho controllato bene il codice della jsp che hai postato all'inizio .... ma hai già controllato tu che sia corretto???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.