Sto usando un jsp per inviare dati a un servlet, ma dopo aver postato i dati voglio rimanere indietro in jsp. Brevemente: 1) Ho un jsp qui con 2 caselle di testo. io uso un javascript per copiare i dati da uno all'altro con un clic del mouse. 2) Uso lo stesso pulsante per inviare dati a un database. 3) Voglio che entrambe le azioni siano eseguite alla volta e non dovrebbe andare al terzo jsp (risultato di servlet post), ma, dovrei andare a un altro jsp che uso.Rimane nella stessa pagina anche dopo aver inviato il modulo jsp
sono in grado di gestire queste 2 cose separatamente ma insieme non riesco a farlo. i dati vengono aggiornati nel database e mostrano una nuova riga nel primo testo (è colpa mia sto usando il modo di reindirizzamento) o sposta i dati dalla prima casella di testo a un'altra e non effettua la registrazione dei dati. per favore aiutami a farlo di seguito è il pezzo di codice che ho usato per farlo.
java script per copiare i dati ed i dati post sono:
function move(){
document.getElementById('tgt1').value = document.getElementById('Allocation').value;
document.getElementById('Allocation').value="";
document.getElementById("Send").disabled=true;
}
function invoke(but)
{
if(but==0)
{
document.myform.action="Alloc_Insert.do";
}
i metodi per il tasto sono dichiarati come segue:
<table><tr><center><td><input type="Submit" value="Allocate" id="Send" onClick="invoke(0);move();" style="width:150px" style="font-size:100%"/></td></center></tr> </table>
e il codice del servlet ho usato sono i seguenti.
ResultSet rs=null;
String Add=request.getParameter("tgt1");
String user=(String) session.getAttribute("myusername");
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();Date d1 = new Date();
String d1_str = new SimpleDateFormat("yyyy-MM-dd").format(d1);
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","tiger");
PreparedStatement ps=con.prepareStatement("UPDATE SCOPE1 SET ALLOCATED='"+d1_str+"', SPECIALIST='"+user+"' WHERE DBID='"+Add+"'");
con.setAutoCommit(true);
int i=ps.executeUpdate();
if(i==1)
{
String redirectURL= "Update_Counts.jsp";
response.sendRedirect(redirectURL);
}
else{
out.print("retry");
}
Voglio inviare i dati proprio come essere sulla stessa con il valore di testo copiato nella seconda casella di testo, come vorrei essere usando per la mia ulteriormente referrence.
Grazie
Come opzione: utilizzare le chiamate javascript AJAX al servlet per inviare/ricevere dati. –
Ciao Rafael grazie per la risposta, sono nuovo di java e anche inconsapevole di Ajax plz fammi sapere come ottenere questo in js o javascrips regolari – Rakesh