我的项目中存在问题。 我有一个JSP页面和一个Java servlet。 servlet必须使用session.setAttribute()在会话中保存名称列表。在JSP页面上必须使用session.getAttribute()从会话中读取并使用for循环从列表中打印出所有名称。所以当前的问题是我不知道如何将Obect / ArrayList转换为常规的String数组。 我知道有更好的方法可以做到这一点,但我必须这样做。
这是我的代码
的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);
答案 0 :(得分:0)
您正在将ArrayList转换为Array.you无法将ArrayList转换为Array。
您需要替换:
String [] names =(String [])session.getAttribute(“userlist”);
与
ArrayList list =(ArrayList)session.getAttribute(“userlist”);
现在迭代列表并从中获取数据。