Servlets 在Servlet中设置属性将导致null

Servlets 在Servlet中设置属性将导致null,servlets,setattribute,Servlets,Setattribute,我尝试为会话设置一个属性,并希望为其分配一个字符串,该字符串稍后在jsp中显示。 我有以下代码: System.out即使将字符串设置为错误消息,也会导致null?我做错了什么 error = "Something"; session.setAttribute("error", error); System.out.println("This is get Attr: " +session.getAttribute(error)); 我现在添加了以下代码

我尝试为会话设置一个属性,并希望为其分配一个字符串,该字符串稍后在jsp中显示。 我有以下代码:

System.out即使将字符串设置为错误消息,也会导致null?我做错了什么

    error = "Something";
        session.setAttribute("error", error);
        System.out.println("This is get Attr: " +session.getAttribute(error));
我现在添加了以下代码行:

    RequestDispatcher disp = req.getRequestDispatcher("error.jsp");
        disp.forward(req, resp);
在我的jsp中:

你好${error}
它显示的是${error}而不是值

您需要通过键访问对象:

System.out.println("This is get Attr: " +session.getAttribute("error"));

在您的示例中,您正在使用该值(即对象引用错误)

谢谢EJK!然而,对于JSP,它仍然不起作用。知道为什么吗?啊,我看到你用JSP代码更新了你的帖子。。。您使用的语法是JSTL表达式语言(EL)。如果您的页面正确配置为评估EL,这将起作用。我认为可以通过添加页面指令来打开它。请给我一分钟时间查看一下……下面是要添加到JSP顶部的指令:我在另一个应用程序中执行了相同的错误页面,不需要该指令,知道为什么吗@Mysia——从我读到的内容来看,默认情况下EL应该是启用的,但是一些servlet容器默认为禁用的。