我的項目中存在一個問題。 我有一個JSP頁面和一個Java servlet。該servlet必須使用session.setAttribute()在會話中保存名稱列表。在JSP頁面上,必須使用session.getAttribute()從會話中讀取並使用for-loop打印列表中的所有名稱。所以目前的問題是我不知道如何將Obect/ArrayList轉換爲普通的String數組。 我知道有更好的方法來做到這一點,但我必須這樣做。將ArrayList轉換爲普通字符串數組
這裏是我的代碼
的Servlet:
private ArrayList<String> userlist = new ArrayList<String>(Arrays.asList("bla1","bla2","bla3","bla4")); // unsynchronisiert
public void addName(String name){
userlist.add(name);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
addName(request.getParameter("username"));
System.out.println(userlist);
HttpSession session = request.getSession();
session.setAttribute("userlist", userlist);
}
JSP:
String[] names = (String[]) session.getAttribute("userlist");
System.out.println(names);
您不能將ArrayList轉換爲String []。你爲什麼不把它投射到ArrayList?如果你需要一個String [],你可以通過list.toArray(new String [list.size()])解析它。 –
好吧我可以解決這個問題,但它仍然告訴我「null」。我不明白爲什麼? – WeSt