我在arraylist中存儲了登錄的用戶名,而不是將arraylist放在會話中。每當用戶第一次登錄時,它都會打印用戶名,但刷新頁面時會出現相同的名稱是印刷兩次,但我只想要打印的用戶名只有一次,不管用戶多少次刷新頁面,請幫助在arraylist中存儲值並打印它
String username = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession(true);
session.setAttribute("username", username);
session.setAttribute("password", password);
response.setContentType("text/html");
ArrayList<user> users = (ArrayList<user>) sc
.getAttribute("users");
if (users == null) {
System.out.println("loggedInUsers creates");
users = new ArrayList<user>();
}
users.add(new user(Name, U_ID, Pass));
sc.setAttribute("users", users);
users = (ArrayList<user>) sc.getAttribute("users");
for (int i = 0; i <= users.size() - 1; i++) {
user user = users.get(i);
out.println(user.getUserName()+ "<br>");
//out.println("<br/>" + user.get(i));
}
在ArrayList上使用contains()來檢查它是否已經有當前的userName。如果是,請不要添加,如果否,則添加。 – TheLostMind
希望這將幫助你 [哈希映射] [1]:http://stackoverflow.com/questions/3640648/how-to-correctly-use-hashmap –