[英]Storing values in arraylist and printing it
我將登錄的用戶名存儲在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));
}
使用Hashmap,因為它不允許重復,並將使用新密鑰替換原始密鑰。
HashMap hm = new HashMap();
hm.put (U_ID, new user(Name, U_ID, Pass));
我不確定你要求的是什么,但據我所知,您的代碼可能會對您的程序進行更改。讓我知道它是否有幫助。
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");
boolean shouldPrint = false; //declare this variable to check if printing of username is required
if (users == null) {
shouldPrint = true; //set this value to true to print username
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");
/**********As far as i understood your code.You need to set condition here to prevent twice printing of user name***********************************************/
if(shouldPrint)
{
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));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.