Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    9

    Comunicazione Servlet e jsp

    Buon pomeriggio a tutti ragazzi mi servirebbe un aiutino č da ieri che sto cercando di capire qual č l'errore ma finora nulla In pratica ho una jsp che contiene una casella di testo (input type=text) che passa ad una servlet il nome digitato dall'utente nella casella di testo. La servlet in questione č questa:

    codice:
    public class Aggiungi extends HttpServlet {
    	private static final long serialVersionUID = 1L;
          
    
    		protected void doGet(HttpServletRequest request, HttpServletResponse    
                                                response) throws ServletException, IOException {
    
    	        ServletContext ctx=getServletContext();
    	        HttpSession session=request.getSession();
    	        AttivitāDaSvolgere   
                                   ads=(AttivitāDaSvolgere)session.getAttribute("AttivitāDaSvolgere");
    	        
                    if(ads==null){
    	        	ads=new AttivitāDaSvolgere();
    	        	session.setAttribute("AttivitāDaSvolgere", ads);
    	        }  
    			
    		String nome=request.getParameter("nome");
    		if(nome==null){
    			response.sendError(HttpServletResponse.SC_BAD_REQUEST,                
                            "Nome non specificato");
    		}
    			
    	        ads.aggiungi(nome);
                    /* fin qui 'ads' contiene il nome digitato dall'utente */
    			
    		RequestDispatcher disp=ctx.getRequestDispatcher("/ActivityList.jsp");
    		disp.forward(request, response);
    			
    	}
    }
    La jsp in cui dovrei leggere il nome e visualizzarlo in una tabella sul browser č questa:

    codice:
    <jsp:useBean id="attivitāToDo" class="model.AttivitāDaSvolgere" scope="session"/>
    
    <html>
    <head> 
    .......
    </head>
    <body>
    <div id="frame1"> 
      
    	         <h2>Attivitā da svolgere</h2>
    	         <table>
    	            <tr> 
    	               <th>Nome</th> 
    	            </tr>
    	                       
    	            <c:forEach var="ToDo" items="${attivitāToDo.ads}">     
    		            <tr> 
    		               <td><c:out value="${ToDo.nome}"/></td>
    		            </tr> 
    	            </c:forEach> 
    	         </table> 
    </div>
    </body>
    </html>
    Mentre il bean č questo:

    codice:
    public class AttivitāDaSvolgere {
    	private List<String> ads;
    
    	public AttivitāDaSvolgere() {
    		ads=new ArrayList<String>();
    	}
    	
    	public void aggiungi(String a){
    		ads.add(a);
    	}
    	
    	public void remove(Attivitā a, String nome){
    		if(ads.contains(nome))
    			ads.remove(a); 
    	}
    	
    	public List<String> getAds(){
    		return ads;
    	}
    
    }
    Quando perō lancio l'applicazione, sul browser alla fine mi compare solo l'intestazione della tabella cioč in pratica mi comprare una tabella vuota, e non il nome (inserito dall'utente) all'interno. Io penso che il problema sia nella jsp che usa il bean. Forse sbaglio ad accedere alle proprietā... C'č qualcuno in gradi di aiutarmi? Grazie infinite )

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Quando posti del codice, usa gli appositi tag CODE, come richiesto dal Regolamento interno, cosė da mantenere indentazione e formattazione e rendere, in questo modo, leggibile il codice.

    Li ho aggiunti io al tuo post.


    Ciao.
    "Perchč spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    9
    Chiedo scusa, hai ragione, di solito lo uso per gli ovvi motivi da te suddetti, ma non sapevo come fare! Sorry!

  4. #4
    Allora cerchiamo di fare chiarezza:
    codice:
    //Servlet
    session.setAttribute("AttivitāDaSvolgere", ads);
    con questa instruzione vai a mettere nella mappa di sessione il tuo oggetto con chiave 'AttivitāDaSvolgere'.

    Nella tua pagina jsp e relativo Bean non recuperi tale proprietā e quindi ovviamente il tuo oggetto č vuoto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    9
    Ciao e grazie della risposta Non capisco come potrei procedere? Grazie ancora per l'aiuto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.