我正在构建一个Web应用程序,我需要检查会话是否存在。我想在jsp页面中检查一下。我在一个动作类(Struts 2框架)中创建了我的会话。我不想使用script-lets。有没有办法用EL或其他任何方法做到这一点?
这是我想在不使用script-let
的情况下在jsp中实现的<% HttpSession hs=request.getSession(false);
if(hs.isNew())
{
}
%>
这是检查会话的正确方法,还是应该在单独的动作类中执行相同操作,然后将成功映射到jsp!
答案 0 :(得分:4)
您可以使用EL
中的pageContext
获取并查看
<c:if test="${pageContext.session['new']}">Session is new</c:if>
答案 1 :(得分:0)
这样做应该很容易。您所要做的就是将此代码放在servlet中,但可以通过getter方法访问它。然后你可以通过EL访问它。
public boolean isNewSession() {
HttpSession hs=request.getSession(false);
return hs.isNew();
}
答案 2 :(得分:0)
如果您使用的是Struts 2,最好通过Interceptor管理会话。您需要在Java代码中处理此会话的更快或更快。所以,
创建一个拦截器,您可以在其中检查是否创建了会话(您可以忽略主页)。
在struts.xml文件
你已经完成了。
无论创建了多少个jsp,*。java页面,这个拦截器也会处理新页面上的会话。
您可以看到http://www.vitarara.org/cms/struts_2_cookbook/creating_a_login_interceptor了解如何使用自定义拦截器