KwaiSZ 2017-09-15 03:39 采纳率: 0%
浏览 529

Struts2 的return.LOGIN直接跳出,没有再次经过interceptor

导致不能直接全屏弹出,弹的登录页面显示在选项卡下.请求提交的URL没有改变,全屏是
会发生改变的.

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-06 22:34
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    Struts2 中,当使用 return.LOGIN 来跳转到登录页面时,它不会触发任何拦截器。这是因为 return.LOGIN 是一个特殊的行为,在 Struts2 中用于处理登录失败的情况。

    如果您的应用中存在一些特定的逻辑或者业务流程,您可能希望在登录成功后继续执行某些操作(例如,导航到其他页面),而不是立即返回到登录页面。在这种情况下,您可以使用 redirect 或者 forward 跳转到另一个页面,然后在那个页面上添加一些额外的逻辑来完成后续的操作。

    以下是一个简单的示例:

    Action action = new Action() {
        public void execute(ActionContext context) throws Exception {
            if (!isLogin(context)) { // 检查用户是否已经登录
                // 如果未登录,则跳转到登录页面
                return LOGIN;
            } else {
                // 如果已登录,则继续执行其他操作
                // ...
            }
        }
    };
    

    在这个例子中,我们首先检查当前用户是否已经登录。如果没有登录,我们就调用 LOGIN 行为,并跳转到登录页面。如果有登录,我们就继续执行其他逻辑。

    请注意,这只是一个基本的例子,实际的实现可能会更复杂,包括处理各种不同的状态和情况。

    评论

报告相同问题?