|
1. Спочатку напишіть дію пакетна дія; public class InterceptorAction { public String fun1() { return "ok"; }}
2. Налаштувати дії <назва пакету="base" extends="struts-default"> <global-results> <result name="message">/index.jsp</result> <result name="message">/WEB-INF/page/message.jsp </result> </global-results>< </package> ім'я пакету="delversi" namespace="/test" extends="base"> <interceptors> <ім'я перехоплювача="permission" class="interceptor.InterceptorDemo"></interceptor> <ім'я стеку перехоплювача="permissionStack"> <ім'я перехоплювача на ref = "defaultStack"></interceptor-ref> <ім'я перехоплювача = "дозвіл"></interceptor-ref> </interceptor-stack> </interceptors> <ім'я дії="interceptor_*" class="action.InterceptorAction" method="{1}"> <interceptor-ref name="permission"></interceptor-ref> <result name="ok">/ddd.jsp</result> </action>
Стек перехоплювачів визначений так, щоб використовувати вбудовані перехоплювачі системи
3. Напишіть блокувальник дозволів перехоплювач пакетів; імпортувати com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class InterceptorDemo implements Interceptor { public void destroy() { // TODO Auto-generated method stub } public void init() { // TODO Auto-generated method stub } public String intercept(ActionInvocation invocation) throws Exception { System.out.println("Enter interceptor"); } if (ActionContext.getContext().getSession().get("user") !=null ) { повернути invocation.invoke(); }else { ActionContext.getContext().put("message", "no permission"); відповісти «повідомлення»; } }}Увійшов у систему, повернув все гаразд, а якщо ні — повернув повідомлення
4. Напишіть jsp і введіть користувача в сесію <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>
Будь ласка, вкажіть джерело для перевиданняhttp://blog.csdn.net/z1104222568/article/details/42218125
|