View Full Version : [Java Servlet] Parametri HTML, Funzioni Javascript e Vettori Java
Ok sono ore che lavoro e ho il cervello fuso, quindi vi chiedo scusa se non saprò spiegarmi come si deve.
Ho una servlet. Questa genera una serie di campi testo e 2 pulsanti. La Servlet tiene traccia di una lista di valori per i campi (quindi un vettore di vettori di stringhe) e vorrei settare i 2 pulsanti in questo modo:
FIRST - Deve caricare nei campi di testo le stringhe contenute nel primo vettore della lista.
LAST - Deve caricare nei campi di testo le stringhe contenute nell'ultimo vettore della lista.
Il problema è questo: so come realizzarlo scrivendo 2 funzioni javascript distinte ma se voglio fare una sola funzione mi serve un parametro leggibile da essa per differenziarne il funzionamento.
Problema: il metodo della Servlet request.getParameter("nome") mi dà valore nullo se dichiaro il parametro con la tag <param name="nome" value="1">
Come posso fare? :confused:
Ok sono ore che lavoro e ho il cervello fuso, quindi vi chiedo scusa se non saprò spiegarmi come si deve.
In effetti l'ho riletto 3 volte e ancora adesso poco ci ho capito ;)
Problema: il metodo della Servlet request.getParameter("nome") mi dà valore nullo se dichiaro il parametro con la tag <param name="nome" value="1">
Come posso fare? :confused:
Limitandomi a questa parte, ti posso dire che sbagli nel <param ecc.ecc.>
request.getParameter ti serve per leggere i valori da una form, siccome <param non è un tag della form, è come se nome non esistesse.
Devi fare qualcosa del tipo
<FORM NAME="miaForm" METHOD="POST" ACTION="tuaServlet">
<INPUT TYPE="HIDDEN" NAME="nome" VALUE="1">
</FORM>
Ma così non legge il valore solo in seguito ad una submit? :confused:
Esatto.
Puoi accedere a ogni parametro di una JSP solo se questi è presente in una form e solo dopo l'evento Submit();
Se spieghi meglio cosa devi fare di preciso vedo se posso darti una mano.
Perchè dici che in javascript non riesci a farlo?
Ad una funzione unica javascript puoi benissimo passare un valore.
Al Tasto FIRST aggiungi l'evento onClick="tuaFunzione(1);"
Al Tasto LAST aggiungi l'evento onClick="tuaFunzione(2);"
La funzione javascript sarà cosi dichiarata :
function tuaFunzione(a){
if(a==1){
fai qualcosa
}
if(a==2){
fai altro
}
}
alexanderf
15-02-2006, 11:49
salve ragazzi mi serve un aiuto devo far stampare i numeri primi di questo programma ma non ci riesco :muro: :muro:
public class NumeriPrimi2{
static int i;
static int primo;
public static int calcoloNumeri(){
for(i=0;i<=50;i++){
primo=i;
if ((primo%2)==0) {
}else if ((primo%3)==0){
}else if ((primo%5)==0){
}
System.out.println(primo);
}
return primo;
}
public static void main(String args[]){
System.out.println(calcoloNumeri());
}
}
*cut*
Ma non potevi aprire un topic tuo, scusa?
Cmq x rispondere a Galotar...
Il problema è che è la servlet che genera l'HTML e quindi anche il codice javascript. Di conseguenza, posso passare alla funzione un parametro HTML senza problemi ma devo fare in modo che sia visto anche a livello della Servlet poichè il vettore a cui deve fare riferimento esiste a livello della Servlet.
Cmq ora credo di aver capito come fare, al limite vi chiedo ancora aiuto. Grazie di cuore!
:D
Per capire meglio il problema devi tenere presente che la servlet, una volta invocata, "muore" per cui può generare il codice JS, ma non ricevere un'interazione da esso se non tramite una nuova invocazione.
In pratica:
Servlet -> JS -> Servlet (2a chiamta) -> JS -> Servlet (3a chiamata) ecc.
Puoi evitare il submit se metti il parametro nella query della url, ad es., all'interno della funzione javascript:
document.location.replace("miaServlet?nome=1");
o nel tag <A HREF="miaServlet?nome=1">clicca qui</A>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.