ビューの目的でjspとともにstruts2に取り組んでいますが、ここで1つの問題に直面しています。データベースの値を更新するたびに変更されるため、jsp で値を取得しようとすると、変更された値が表示されます。これは、実際にクリックしたときに実際に必要な値ではなく、変更されるべきではありません。リフレッシュするとき。それを整理する方法はありますか?どんな助けでも大歓迎です。
package com.rajesh.action;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.opensymphony.xwork2.ActionSupport;
public class DepositAction extends ActionSupport {
private int accountno;
private String username;
private String password;
private String amount;
private int dataamount = 0;
public int getDataamount() {
return dataamount;
}
public void setDataamount(int dataamount) {
this.dataamount = dataamount;
}
public int getAccountno() {
return accountno;
}
public void setAccountno(int accountno) {
this.accountno = accountno;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String execute() throws Exception {
Connection con = GetCon.getCon();
PreparedStatement ps = con.prepareStatement("Select * from account where accountno=? and username = ? and password =?");
ps.setInt(1, accountno);
ps.setString(2, username);
ps.setString(3, password);
ResultSet rs = ps.executeQuery();
boolean status = rs.next();
System.out.println(status);
if (status == true) {
PreparedStatement ps1 = con.prepareStatement("Select * from account where accountno=?");
ps1.setInt(1, accountno);
ResultSet rs1 = ps1.executeQuery();
if (rs1.next()) {
dataamount = Integer.parseInt(amount) + rs.getInt(5);
System.out.println(rs1.getInt(5));
System.out.println(dataamount);
}
PreparedStatement ps2 = con.prepareStatement("update account set amount=? where accountno='"
+ accountno + "'");
ps2.setInt(1, dataamount);
int state = ps2.executeUpdate();
if (state > 0)
System.out.println("AMOUNT DEPOSITED");
return SUCCESS;
} else {
return "error";
}
}
}
そして私のdeposit.jsp
<div id="header12">
<table>
<tr><td><h4>amount deposited is:<s:property value="amount"/> Rs</h4></td></tr>
<tr>
<td align="center" valign="middle"><h4>your current Balance is:<s:property value="dataamount" /> Rs</h4></td>
</tr>
</table>
そして私のdeposit1.jsp
<form name=F1 onSubmit="return dil(this)" action="depositAction" method="post">
<table cellspacing="5" cellpadding="3">
<tr><td>ACCOUNT NO:</td><td> <input type="text" name="accountno"/></td></tr>
<tr><td>USER NAME:</td><td> <input type="text" name="username"/></td></tr>
<tr><td>PASSWORD:</td><td> <input type="password" name="password"/></td></tr>
<tr><td>AMOUNT:</td><td> <input type="text" name="amount"/></td></tr>