登陆后显示信息,然后在信息后面有修改连接 进入修改页,修改后点击update按钮进入成功提示也,但是实际上没有修改成功,后台也没有报错,究竟错在哪里了数据库的ID 是自增的 分不多,希望各位指点
这是user_list页 显示用户信息点击“更新此User ”
<body>
user_list ok <br/>
<s:iterator value="#request.users" status="status">
<s:property value="id"/>
<s:property value="username"/>
<s:property value="age"/>
<s:property value="address"/>
<a href="<s:url action="delete"/>?id=<s:property value="id"/>">删除user</a>
<a href="user_updateInput.jsp?id=<s:property value="id"/>">更新此User</a>
<br/>
</s:iterator>
</body>user_updateInput.jsp<body>
  user_update
   <form action="updateUser.action" method="post">
   <input type="hidden" name="user.id" value="<s:property value="user.id"/>" />
   name:<input name="user.username" value="<s:property value="user.username"/>"  />
   password:<input name="user.password" value="<s:property value="user.password"/>"  />
   age:<input name="user.age" value="<s:property value="user.age"/>"  />
   address:<textarea name="user.address"><s:property value="user.address"/></textarea>
   <input type="submit" value="update" /> 
   </form>
  
  </body>struts.xml<action name="updateUser" class="suncw.demo.action.UserAction" method="update">
<result name="success">/admin/update.jsp</result>
<result name="input">/admin/user_updateInput.jsp</result>
</action>actionpublic String update() {
userService.update(user);
return "success";
}servicepublic void update(User user){
Connection conn=DB.createConn();
String sql="update user set username=?,password=?,age=?,address=? where id=?";
PreparedStatement ps=DB.prepare(conn, sql);
try{
ps.setString(1,user.getUsername());
ps.setString(2,user.getPassword());
ps.setInt(3,user.getAge());
ps.setString(4,user.getAddress());
ps.setInt(5,user.getId());
ps.executeUpdate();
}catch(Exception e){
e.printStackTrace();
}
}求助~~

解决方案 »

  1.   

    我感觉是ID传递有问题、。你debug跟踪看看update方法传递进去的User对象具体的信息、
      

  2.   

    public String update() {
            int a=100;
            a=userService.update(user);
            System.out.println(a);
            return "success";
        }
    输出看看
      

  3.   

    不好意思,输出加在 a=pstmt.executeUpdate();                System.out.println(a);
      

  4.   

    你直接在更新页面<s:debug></s:debug>看看里面的user.id值是否为空
      

  5.   

    是不是DAO的问题。看你更新的方法对吗。
      

  6.   

    输出后a是0
    这是为什么啊 id错在什么地方啊