Class.forName
("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:49162;databaseName=forum";
Connection con=DriverManager.getConnection(url,"sa","123");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from person");
UserVO userVO=new UserVO();
ArrayList<UserVO> userlists=new ArrayList<UserVO>();
while(rs.next()){
userVO.setID("<table><tr><td>"+rs.getString("ID")+"</td>");
userVO.setPwd("<td>"+rs.getString("pwd")+"</td>");
userVO.setNickname("<td>"+rs.getString("nickname")+"<td>");
userVO.setRole("<td>"+rs.getString("role")+"</td></tr></table>");
userlists.add(userVO);
}
rs.close();
stmt.close();
con.close();
request.setAttribute("userlists", ""+userlists); //response.sendRedirect("list.jsp");
request.getRequestDispatcher("/list.jsp").forward(request, response);
跳转到list.jsp时出现的是一对乱码
我是用<%=request.getAttribute("userlists")
%>来接收的
请问是不是接收方法弄错了,求解?
("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:49162;databaseName=forum";
Connection con=DriverManager.getConnection(url,"sa","123");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from person");
UserVO userVO=new UserVO();
ArrayList<UserVO> userlists=new ArrayList<UserVO>();
while(rs.next()){
userVO.setID("<table><tr><td>"+rs.getString("ID")+"</td>");
userVO.setPwd("<td>"+rs.getString("pwd")+"</td>");
userVO.setNickname("<td>"+rs.getString("nickname")+"<td>");
userVO.setRole("<td>"+rs.getString("role")+"</td></tr></table>");
userlists.add(userVO);
}
rs.close();
stmt.close();
con.close();
request.setAttribute("userlists", ""+userlists); //response.sendRedirect("list.jsp");
request.getRequestDispatcher("/list.jsp").forward(request, response);
跳转到list.jsp时出现的是一对乱码
我是用<%=request.getAttribute("userlists")
%>来接收的
请问是不是接收方法弄错了,求解?
修改成
request.setAttribute("userlists", userlists);""+userlists request接受的是一个字符串。
还有set属性的时候不要带上html标签。
修改成
request.setAttribute("userlists", userlists);楼主另外的错误:
UserVO userVO=new UserVO();
ArrayList<UserVO> userlists=new ArrayList<UserVO>();
while(rs.next()){
userVO.setID("<table><tr><td>"+rs.getString("ID")+"</td>");
userVO.setPwd("<td>"+rs.getString("pwd")+"</td>");
userVO.setNickname("<td>"+rs.getString("nickname")+"<td>");
userVO.setRole("<td>"+rs.getString("role")+"</td></tr></table>");
userlists.add(userVO);
}
楼主这样写的结果是 所有的记录都是一样的结果。
应这样写 ArrayList<UserVO> userlists=new ArrayList<UserVO>();
while(rs.next()){
UserVO userVO=new UserVO();
userVO.setID("<table><tr><td>"+rs.getString("ID")+"</td>");
userVO.setPwd("<td>"+rs.getString("pwd")+"</td>");
userVO.setNickname("<td>"+rs.getString("nickname")+"<td>");
userVO.setRole("<td>"+rs.getString("role")+"</td></tr></table>");
userlists.add(userVO);
}