我正在编写一个在会话范围内使用JSP usebean标记的Web应用程序,如下所示
<jsp:useBean id="userSession" class="project.session.UserSession" scope="session" />
我还编写了一个过滤器,该过滤器进行了一些处理,并且需要在userSession bean上设置一些值。如何获得对象上的手柄并为其设置值?我试图从会话中获取对象,如下所示,但是此方法不起作用。
UserSession userSession = (UserSession)request.getSession().getAttribute("userSession");
我使用Tomcat进行开发。
最佳答案
如果为null(始终在第一个请求上),那么您只需要自己预先创建即可。
UserSession userSession = (UserSession) request.getSession().getAttribute("userSession");
if (userSession == null) {
userSession = new UserSession();
request.getSession().setAttribute("userSession", userSession);
}
userSession.doSomething();