点击修改
<%--
Document : userModInfo
Created on : 2023-6-16, 0:53:33
Author : 人间惊鸿客
--%>
<%@page import="vo.User"%>
<%@page import="impl.UserImpl"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.ArrayList"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>修改用户的信息</h1>
<%
String info = (String)request.getAttribute("info");
int userId= Integer.valueOf(request.getParameter("userId"));
UserImpl userdao = new UserImpl();
ArrayList<User> stus = userdao.getUserById(userId);
User stu = stus.get(0);
%>
<%=userId %>
<%=info%>
<form action="updateUser.jsp">
<table border="1">
<tr>
<td>属性</td>
<td>值</td>
</tr>
<tr>
<td>用户id</td>
<td><input type="text" name=userId" value=""></td>
</tr>
<tr>
<td>用户名</td>
<td><input type="text" name="username" value=""></td>
</tr>
<tr>
<td>用户密码</td>
<td><input type="text" name="pass_word" value=""></td>
</tr>
<tr>
<td>角色</td>
<td><input type="text" name="urole" value=""></td>
</tr>
<tr>
<td><input type="reset" value="重置"></td>
<td><input type="submit" value="修改"></td>
</tr>
</table>
</form>
</body>
</html>
UpdateUser.jsp的代码
<%--
Document : UpdateUser
Created on : 2023-6-15, 18:30:19
Author : 人间惊鸿客
--%>
<%@page import="impl.UserImpl"%>
<%@page import="vo.User"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
int userId = Integer.valueOf(request.getParameter("userId"));
String username= request.getParameter("username");
String pass_word= request.getParameter("pass_word");
String urole= request.getParameter("urole");
User user = new User(userId,username,pass_word,urole);
UserImpl bookdao = new UserImpl();
int rownum = bookdao.updateUser(user);
if(rownum == 1){
request.setAttribute("info", "更新成功");
request.getRequestDispatcher("userModInfo.jsp").forward(request, response);
}else{
System.out.print(rownum);
request.setAttribute("info", "更新失败");
request.getRequestDispatcher("userModInfo.jsp").forward(request, response);
}
%>
</body>
</html>
Ipml里update方法
public int updateUser(User users){
Connection conn = Connect.getConn();
PreparedStatement stat = null;
int res = 0;
try{
String sqlstr = "update users set username=?,pass_word=?,urole=? where userId=?";
stat = conn.prepareStatement(sqlstr);
stat.setString(1, users.getUsername());
stat.setString(2, users.getPass_word());
stat.setString(3, users.getUrole());
stat.setInt(4, users.getUserId());
res = stat.executeUpdate();
// step5: 查看结果
System.out.println("执行结果:"+res);
System.out.println("查询完毕");
}catch(Exception e){
System.out.println(e.getMessage());
}
Connect.getClose(conn, stat);
System.out.println(res );
return res;
}
通过用户id查询
public ArrayList<User> getUserById(int userid) {
ArrayList<User> users = new ArrayList<User>();
Connection conn = Connect.getConn();
Statement stat = null;
try{
stat = conn.createStatement();
String sqlstr = "select * from users where userId = userId";
ResultSet rs = stat.executeQuery(sqlstr);
while(rs.next()){
int userId = rs.getInt("userId");
String username = rs.getString("username");
String pass_word = rs.getString("pass_word");
String urole = rs.getString("urole");
User temp = new User(userId,username,pass_word,urole);
users.add(temp);
}
}catch(Exception e){
System.out.println(e.getMessage());
}
Connect.getClose(conn, stat);
return users;
}
这个为空导致的吧?输出一下这个值看看获取到没有