1

谁能告诉我如何使用 Struts 转发或重定向页面?我正在检查每个jsp中的会话是否为空,如果为空,我想重定向。我可以使用简单的 jsp:forward 或 response.sendRedirect() 来做到这一点,但我想重定向到我在 struts.xml 中声明的 struts2 操作。我尝试将动作名称放在上述标签和方法中,但没有奏效。

if(session.getAttribute("user")!=null)
    response.sendRedirect("loginAction");

无论如何要这样做。我不能直接调用 .jsp,因为我在 web.xml 中为 *.jsp url 模式添加了安全约束。所以我想使用动作进行转发或重定向。有什么帮助吗?

4

2 回答 2

3

最好在 aFilterInterceptor. 这个对类似问题的回答可能会有所帮助。

于 2011-06-08T17:26:32.887 回答
0

首先,也许您更喜欢在拦截器(例如)中检查授权使用(登录)

其次,要在 Struts2 中重定向到 struts2 动作,只需使用适当的result。如果没有必要,访问较低级别的对象(与 servlet 相关)是不好的做法。

第三,关于I can't call to a .jsp directly:您不能重定向到 jsp url(因为在您的体系结构中无法从浏览器访问 jsp),但您可以转移到它,即显示 login.jsp 以响应您的操作。这很简单,只有当您希望用户在他要求身份验证时在他的浏览器中看到一些“... login.do” url 时才可以接受。

于 2011-06-08T18:21:07.570 回答