我将登录的用户名存储在数组列表中,然后将数组列表放入 session 中。每当用户第一次登录时,它都会打印用户名,但刷新页面时,相同的名称会打印两次,但我只想无论用户刷新页面多少次,都只打印一次用户名,请帮忙
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));
}
最佳答案
使用 Hashmap,因为它不允许重复,并且会用新 key 替换原始 key 。
HashMap hm = new HashMap();
hm.put (U_ID, new user(Name, U_ID, Pass));
关于java - 在数组列表中存储值并打印它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982619/