|
1. Scrivi prima un'azione azione del pacchetto; classe pubblica InterceptorAction { public String fun1() { return "ok"; }}
2. Configura l'azione <nome del package="base" extends="struts-default"> <global-results> <nome risultato="messaggio">/index.jsp</result> <nome risultato="messaggio">/WEB-INF/pagina/message.jsp </result> </global-results><nome </package> del package="delversi" namespace="/test" extends="base"> <interceptors> <nome intercettore="permission" class="intercettore.InterceptorDemo"></interceptor> <nome-stack intercettore="stackPermesso"> <nomeref intercettore="defaultStack"></interceptor-ref> <interceptor-ref name="permission"></interceptor-ref> </interceptor-stack> </interceptors> <nome dell'azione="interceptor_*" class="action.InterceptorAction" metodo="{1}"> <intercettor-ref name="permission"></interceptor-ref> <nome risultato="ok">/ddd.jsp</result> </action>
Il stack intercettori è definito per poter utilizzare gli intercettori integrati nel sistema
3. Scrivere un blocco di permessi intercettore di pacchetti; import com.opensymphony.xwork2.ActionContext; importa com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; la classe pubblica InterceptorDemo implementa Interceptor { public void destroy() { // TODO Metodo generato automaticamente stub } public void init() { // TODO Auto-generato metodo stub } public String intercept(ActionInvocation invocation) throws Exception { System.out.println("Enter interceptor"); } if (ActionContext.getContext().getSession().get("user") !=null ) { return invocation.invoke(); }else { ActionContext.getContext().put ("message", "no permission"); ritorna "messaggio"; } }}Ho effettuato l'accesso, ho restituito OK e ho restituito il messaggio se non è stato
4. Scrivere un jsp e iniettare l'utente nella sessione <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>
Si prega di indicare la fonte per la ristampahttp://blog.csdn.net/z1104222568/article/details/42218125
|