【发布时间】:2016-10-30 19:53:35
【问题描述】:
我的项目有问题。 我有一个 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);
【问题讨论】:
-
您不能将 ArrayList
强制转换为 String[]。为什么不将其转换为 ArrayList?如果你需要一个 String[] 你可以通过 list.toArray(new String[list.size()]) 解析它。 -
好的,我可以解决这个问题,但它仍然告诉我“null”。我不明白为什么?
标签: java arrays arraylist classcastexception