Я использую Struts 2. Можно ли идентифицировать и перехватывать, когда пользователь выполняет другое действие?
Мне нужно определить, собирается ли пользователь выполнить действие, отличное от того, которым он является в настоящее время.на.
Это легко. Просто используйте перехватчик 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.html или http://www.benmccann.com/blog/struts-2-tutorial-interceptors/ для образцов.