日期:2014-05-17  浏览次数:20849 次

struts2 增删查改 但是改就是不好使。。。求助~~
登陆后显示信息,然后在信息后面有修改连接 进入修改页,修改后点击update按钮进入成功提示也,但是实际上没有修改成功,后台也没有报错,究竟错在哪里了。。。数据库的ID 是自增的 分不多,希望各位指点
这是user_list页 显示用户信息点击“更新此User ”
Java code
<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
Java code

<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
Java code

<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>


action
Java code

public String update() {
  userService.update(user);
  return "success";
  }


service
Java code

public 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();
  }
  }

发过一次帖子,已经知道是id传值问题,但是应该怎么改呢
当点击更新此User的时候 地址栏后面显示是http://localhost:8090/strDemo/admin/user_updateInput.jsp?id=13
这不是已经显示id是13了吗 这个问题应该怎么修改。。。想不出来
求助~~(分不多了。。)

------解决方案--------------------
sql语句打印出来是什么样的,数据库一点反应都没有吗
------解决方案--------------------
你的jdbc是不是自动commit的?
------解决方案--------------------
哥们 把你的id的这个获取方式改成这样的试试看:<input type="hidden" name="user.id" value="<%=request.getParameter("user.id") %>" />