我设置在名为cartList的servlet这是这样一个字符串数组一个会话属性,读取会话属性中的jsp
request.getSession().setAttribute("cartList", items);
其中物品是String类型的对象的数组。
在JSP,我打电话这样上述属性,
line123:String[] cartItems = (String[]) request.getSession().getAttribute("cartList");
line124:for (int i = 0; i < cartItems.length; i++) {
line125:String[] cartItem = cartItems[i].split("\\|");
cartItems [Ⅰ]将永远不会是空的,并且将包含这样的字符串,[AAA-000 | 2]。
我在第125行收到一个异常,它是一个nullpointerexception。我不知道为什么我得到这个错误。我正在检查servlet中'items'的内容,它很好,并且不是空的。 我花了一整天的时间来解决这个问题。我在智慧的结尾!任何帮助表示赞赏!
你确定在jsp中的值是否被正确提取?也在jsp中你有一个内置的会话变量,无需编写request.getSession(); – 2011-04-10 06:07:38
感谢您的快速响应。我不知道该值是否在jsp中正确提取。我如何检查?我认为request.getSession()是访问会话属性的唯一方法。我不需要会话对象访问会话属性,并获得会话对象我不必做request.getSession()? – sherry 2011-04-10 06:32:19
@ user686997:检查只是简单地把'System.out.println(carItems);'从jsp中的session中获取值之后。 – 2011-04-10 06:35:36