如何拦截Struts 2 Actions之间的导航?

发布于 2024-11-01 03:05:22 字数 83 浏览 7 评论 0原文

我正在使用 Struts 2。当用户导航执行另一个操作时是否可以识别并拦截?

我需要确定用户是否要执行与他当前正在执行的操作不同的操作。

I´m using Struts 2. Is it possible to identify and intercept when a user navigates do another Action?

I need to identify if the user is going to an Action different then the one he is currently on.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

煮酒 2024-11-08 03:05:22

这很容易。只需使用 Struts 2 拦截器即可。

public class TestInterceptor extends AbstractInterceptor {

    public String intercept(ActionInvocation invocation) throws Exception {
        // Do checking here, get user from session or from parameter is OK.
        // Example:
        // string returned below will be redirected to result of Struts 2 action
        String roleName = user.getRole().getName();
        if ("admin".equals(roleName) {
            return "admin";
        } else if("user".equals(roleName)) {
            return "user";
        }

        // This means if roleName is not admin or user, the action will be invoked
        return invocation.invoke();
    }

}

然后只需在 struts.xml 配置中添加上述拦截器即可。我想这就是你想要的,对吗?我总是使用这个拦截器。

请参阅http://struts.apache.org/2.x/docs/interceptors。 htmlhttp://www.benmccann.com/blog/ struts-2-tutorial-interceptors/ 用于示例。

It's easy. Just use Struts 2 interceptor.

public class TestInterceptor extends AbstractInterceptor {

    public String intercept(ActionInvocation invocation) throws Exception {
        // Do checking here, get user from session or from parameter is OK.
        // Example:
        // string returned below will be redirected to result of Struts 2 action
        String roleName = user.getRole().getName();
        if ("admin".equals(roleName) {
            return "admin";
        } else if("user".equals(roleName)) {
            return "user";
        }

        // This means if roleName is not admin or user, the action will be invoked
        return invocation.invoke();
    }

}

Then just add above interceptor in struts.xml configuration. I think this is what you want, right? I always use this interceptor.

See http://struts.apache.org/2.x/docs/interceptors.html or http://www.benmccann.com/blog/struts-2-tutorial-interceptors/ for the samples.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文