jsp を使用してデータをサーブレットに投稿していますが、データを投稿した後は同じ jsp に戻りたいと考えています。簡単に言うと: 1) ここに 2 つのテキスト ボックスを持つ jsp があります。ボタンをクリックすると、JavaScriptを使用してデータを別のデータにコピーします。2) 同じボタンを使用して、データをデータベースに投稿します。3) 両方のアクションを一度に実行する必要があり、3 番目の jsp (サーブレットのポスト結果) に移動する必要はありませんが、使用する別の jsp に移動する必要があります。
これら 2 つのことを別々に処理することはできますが、一緒に処理することはできません。データベースでデータが更新され、最初のテキストに新しい行が表示されるか(リダイレクト方法を使用している私のせいです)、データを最初のテキストボックスから別のテキストボックスに移動し、データの投稿を行いません。それを行うのを手伝ってください。以下は、私がそれを行うために使用したコードです。
データをコピーしてデータを投稿する Java スクリプトは次のとおりです。
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";
}
ボタンのメソッドは次のように宣言されます。
<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>
私が使用したサーブレットコードは次のとおりです。
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");
}
私はデータを投稿したいだけでなく、2番目のテキストボックスにコピーされたテキストボックスの値と同じになりたいと思っています.
ありがとう