Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213

    [jsp]passaggio parametri da input(text)

    devo fare una ricerca in database di un prodotto immesso da input.il prodotto cercato me lo stamperà poi in una nuova pagina.ho provato in questo modo ma nell'url non campare il parametro immesso:
    codice:
    <html>
    <head>
            <title>'ricerca.jsp'</title>
    	<script type="text/javascript">
    		function CercaProd() {
    		           <%String nome_prod=request.getParameter("T1");%>
    			 location.href=("listaprodotti2.jsp?name=<%=nome_prod%>");
    		}
    	</script>
    </head>
    <body>
             <form method="POST" >
    	<div align="center">
    	<table width="49%" id="table1">
    		<tr>
    			<td width="242">Nome</td>
    			<td></td>
    			<td>Prezzo</td>
    		</tr>
    		<tr>
    			<td width="242">
    				
    
    <input type="text" name="T1" size="20"></p>
    					
    
    
    			</td>
    			<td></td>
    			<td>
    			
    
    <input type="text" name="T2" size="20"></p></td>
    		</tr>
    		<tr>
    			<td height="68" width="242"></td>
    			<td height="68">
    <p align="center"><input type="submit" value="Cerca" name="B3" onclick="CercaProd()"></p>
    			</td>
    			<td height="68"></td>
    		</tr>
    	</table>
    	</div>
    </form>
    </body>
    </html>
    grazie di nuovo!!

  2. #2
    L'oggetto implicito request viene "popolato" con valori inseriti del form dopo che è avvenuto il submit. Per questo motivo nome_prod è null.

    Per passare T1 alla funzione javascript secondo me devi usare devi usare javascript..

    Ciao,
    Matteo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    non penso xò basti javascript per passare il parametro all'altra pagina...forse è anche sbagliato mettere del jsp nella funzione javascript come ho fatto...ma non ho idea x come farlo

  4. #4
    Ma scusa... perchè devi fare tutto questo giro per passare un parametro a una pagina?
    non basta che usi
    codice:
      <html>
    <head>
            <title>'ricerca.jsp'</title>
    	
    </head>
    <body>
       <form method="GET" action="listaprodotti2.jsp">
    	<div align="center">
    	<table width="49%" id="table1">
    		<tr>
    			<td width="242">Nome</td>
    			<td> </td>
    			<td>Prezzo</td>
    		</tr>
    		<tr>
    			<td width="242">
    				
    
    <input type="text" name="nome_prodotto" size="20"></p>
    					
    
     
    			</td>
    			<td> </td>
    			<td>
    			
    
    <input type="text" name="T2" size="20"></p> </td>
    		</tr>
    		<tr>
    			<td height="68" width="242"> </td>
    			<td height="68">
    <p align="center"><input type="submit" value="Cerca" name="B3"></p> 
    			</td>
    			<td height="68"> </td>
    		</tr>
    	</table>
    	</div>
    </form>
    </body>
    </html>
    Così quando clicchi su "Cerca" chiami listaprodotti2.jsp passandogli nome_prodotto nella request (lo vedi anche dall'URL). A questo punto listaprodotti2.jsp potrà recuperare la stringa passata in questo modo:

    codice:
    <%
    String nomeProdotto = request.getParameter("nome_prodotto");
    %>

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    un form così non manda nessun parametro,ho provato in quest altro modo:

    <form method="POST" action="listaprodotti2.jsp?name=<%= T1 %>">

    ma da errore di sintassi xkè t1 è il nome della text e non una variabile,come posso rimediare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    sisi,avevi ragione, xò cmq non funziona, anche se immetto un valore presente nel db mi carica la pagina listaprodotti.jsp senza stampare il prodotto. ora posto entrambe le pag,sia quella che invia che quella che riceve il valore:
    ricerca.jsp:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@ page language="java"%>
    <html><head><title>'ricerca.jsp'</title></head>
            <body>
    	<form method="POST" action="listaprodotti2.jsp">
    	<div align="center">
    	<table width="49%" id="table1">
    		<tr>
    			<td width="242">Nome</td>
    			<td></td>
    			<td>Prezzo</td>
    		</tr>
    		<tr>
    			<td width="242">
    			
    
    <input type="text" name="T1" size="20"></p>
    			
    
    
    			</td>
    			<td></td>
    			<td>
    			
    
    <input type="text" name="T2" size="20"></p></td>
    		</tr>
    		<tr>
    			<td height="68" width="242"></td>
    			<td height="68">
    			<p align="center">
    			<input type="submit" value="Cerca" name="B3">
    			</p>
    			</td>
    			<td height="68"></td>
    		</tr>
    	</table>
    	</div>
    </form>
    </body></html>
    listaprodotti2.jsp
    [CODE]
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@ page language="java" import="java.sql.*" %>
    <html> <head><title>'listaprodotti.jsp'</title>
    <script type="text/javascript">
    function Uscita() {
    location.href = ("index.html");
    }
    function Carrello() {
    location.href = ("listacarr.jsp");
    }
    </script>
    </head>
    <body>
    <h2 align="center">Lista dei prodotti</h2>


    <%
    String nomeProdotto = request.getParameter("T1");
    String strSQL="SELECT id,nome FROM PRODOTTO";

    String strDriver="sun.jdbc.odbc.JdbcOdbcDriver";
    String strNomeConnessione="jdbcdbc:database";
    Class.forName(strDriver);
    Connection conn=null;
    conn=DriverManager.getConnection(strNomeConnession e);
    Statement stmDb=conn.createStatement();
    ResultSet rsRisultato=null;
    rsRisultato=stmDb.executeQuery(strSQL);
    %>
    <div align="center">
    <table border=0 cellpadding=0 cellspacing=0>
    <% while(rsRisultato.next())
    {
    if (nomeProdotto==(rsRisultato.getString("nome"))) {
    int prodId=(rsRisultato.getInt("id"));%>
    <tr>
    <td width="60">
    <A HREF="dettaglio.jsp?id_prod=<%=prodId%>">
    <% out.print(prodId); %>
    </A>
    </td>
    <td>
    <% out.print("");
    out.print(rsRisultato.getString("nome"));
    %>
    </td>
    </tr>
    <% out.print("
    ");
    }
    }; %>
    </table>
    </div>
    <% rsRisultato.close();
    conn.close();
    %>



    <div align="center">
    <table border=0 cellpadding=0 width="20%" cellspacing=0>
    <tr>
    <td>
    <p align="center"><input type="button" value="Mostra carrello" onclick="Carrello()"></p>
    </td>
    <td>
    </td>
    <td>
    <p align="center"><input type="button" value="Esci" onclick="Uscita()"></p>
    </td>
    </tr>
    </table> </div>
    </body></html>

  7. #7
    Spero di non dire una fesseria :master: ma per verificare l'eguaglianza tra due stringhe si dovrebbe usare:

    codice:
    if(str1.equals(str2))
    {...}
    Invece
    codice:
    if(str1==str2)
    {...}
    controlla che sia due puntamenti alla stessa istanza (verifica l'uguaglianza tra gli hashcode dei 2 oggetti).

    Potrebbe essere questo l'errore?

    Matteo

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    non dovrebbe essere quello l'errore perchè già l'ho usato altre volte.piuttosto nella riga:

    String nomeProdotto = request.getParameter("T1");
    String strSQL="SELECT id,nome FROM PRODOTTO";

    infatti in un altro caso,in cui doveva prendere un intero da url ho usato:

    int id_prod= Integer.valueOf(request.getParameter("id_prod")).i ntValue();
    String strSQL="SELECT id,nome,descrizione,prezzo FROM PRODOTTO WHERE id="+id_prod;

    ma non riesco a trovare qualcosa simile a intValue() che vale x le stringhe.e non so neanche se in questo modo gli sto passando correttamente il parametro :master:

  9. #9
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    equals di String controlla che i contenuti di due stringhe siano uguali
    == controlla che le istanze siano le stesse
    l'errore è questo

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    ma infatti non ho usato equals... non so + dove mettere mani

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.