我说的,我理解的问题, 数据库的内容有变化,但是jsp页面上的数据没有变化
首先 jsp页面上的数据是怎么来的,是直接查询数据库,获取想要的数据,然后渲染jsp页面,还是通过ajax. 一个页面渲染完成之后,它是不知道 数据库的内容有变化的,如果对页面没什么体验要求的化,你重新刷新一遍页面,这个时候,相当于重新查询一次数据库,这个时候,就可以获取变化了的数据,然后渲染成页面。如果对体验要求高的话,不能靠重新刷新页面去获取新的数据的话,可以用轮询或者websocker之内的技术,来实现
其实挺简单:第一步:将要修改的数据读出来显示在form中相应控件中(控件绑定相应数据)
第二步:在form中修改好数据后,提交数据并传递相应数据参数(如id)。
第三 步:接收传递过来的数据,并执行更新搞作(类似于添加数据,只是这里是更新而已)。
最后,修改成功。
lz这个代码。。。貌似不容易看出来你的原因错在哪里啊!其一,你的Bean(DBBean)里面的成员是什么,不好看出,其二,跟你的数据库结构也有关系!因此,想要解决你的问题,我只能假设了。下面给出一个完成得代码,希望对lz有所帮助,里面的我提出的两个问题均为我所猜测,如和lz的程序不一样,请改动!带码如下:import java.sql.*
class DBBean {
public String loginName = null
public String userName = null
public String password = null
public int age= 0
public String address = null
public String getAddress() {
return address
}
public void setAddress(String address) {
this.address = address
}
public int getAge() {
return age
}
public void setAge(int age) {
this.age = age
}
public String getLoginName() {
return loginName
}
public void setLoginName(String loginName) {
this.loginName = loginName
}
public String getPassword() {
return password
}
public void setPassword(String password) {
this.password = password
}
public String getUserName() {
return userName
}
public void setUserName(String userName) {
this.userName = userName
}
}
/*
*
* userinfo 数据库结构
* loginName varchar
* userName varchar
* password varchar
* age number
* address varchar
*/
public class Test {
private PreparedStatement pst = null//对pst的初始化工作请自己执行
public void update(DBBean bean){
try {
String sql="update userinfo set loginName=? , userName=? , password=? , age=? , address=?"
pst.setString(1,bean.getLoginName())
pst.setString(2,bean.getUserName())
pst.setString(3,bean.getPassword())
pst.setInt(4,bean.getAge())
pst.setString(5,bean.getAddress())
pst.executeUpdate(sql)
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)