【问题标题】:How do I set JSP UseBean values from a servlet如何从 servlet 设置 JSP UseBean 值
【发布时间】:2010-03-03 12:09:01
【问题描述】:

我正在编写一个在会话范围内使用 JSP usebean 标记的 Web 应用程序,如下所示

<jsp:useBean id="userSession" class="project.session.UserSession" scope="session" />

我还编写了一个过滤器,它进行一些处理并需要在 userSession bean 上设置一些值。如何获得对象的句柄并在其上设置值?我已经尝试从会话中获取对象,如下所示,但是这种方法不起作用。

UserSession userSession = (UserSession)request.getSession().getAttribute("userSession");

我使用 Tomcat 进行开发。

【问题讨论】:

  • 您的过滤器在您的 JSP 运行之前运行。我假设您指的是在设置后访问 bean(即另一个请求)。会话有效吗?

标签: jsp session tomcat jakarta-ee javabeans


【解决方案1】:

如果它为空(它总是在第一个请求中),那么你只需要自己预先创建它。

UserSession userSession = (UserSession) request.getSession().getAttribute("userSession");
if (userSession == null) {
    userSession = new UserSession();
    request.getSession().setAttribute("userSession", userSession);
}
userSession.doSomething();

【讨论】:

  • 对 setAttribute 的一个小改动。我能够通过首先从会话中删除属性然后添加新创建的会话属性来实现此功能。
猜你喜欢
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多