|
1. Schreibe zuerst eine Aktion Paketaktion; public class InterceptorAction { public String fun1() { return "ok"; }}
2. Aktion konfigurieren <package name="base" extends="struts-default"> <global-results> <result name="message">/index.jsp</result> <result name="message">/WEB-INF/page/message.jsp </result> </global-results>< </package> Paketname="delversi" Namensraum="/test" extends="base"> <interceptors> <Interceptor Name="permission" class="interceptor.InterceptorDemo"></interceptor> <interceptor-stack name="permissionStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <Interceptor-ref name="permission"></interceptor-ref> </interceptor-stack> </interceptors> <action name="interceptor_*" class="action.InterceptorAction" method="{1}"> <interceptor-ref name="permission"></interceptor-ref> <result name="ok">/ddd.jsp</result> </action>
Der Abfang-Stack ist so definiert, dass er die eingebauten Abfanggeräte des Systems nutzen kann
3. Schreibe einen Berechtigungsblocker Paketabfangjäger; importiere com.opensymphony.xwork2.ActionContext; importiere com.opensymphony.xwork2.ActionInvocation; Import com.opensymphony.xwork2.interceptor.Interceptor; public class InterceptorDemo implementiert Interceptor { public void destroy() { // TODO Auto-generated method stub } public void init() { // TODO Automatisch generierte Methoden-Stub } öffentlicher String-Intercept(ActionInvocation-Aufruf) wirft Ausnahme { System.out.println("Enter Interceptor"); } wenn (ActionContext.getContext().getSession().get("user") !=null ) { return invocation.invoke(); }else { ActionContext.getContext().put("message", "no permission"); return "message"; } }}Ich habe mich eingeloggt, das Ergebnis war einwandfrei und die Nachricht erhalten, falls nicht.
4. Schreibe ein JSP und füge Benutzer in die Sitzung ein <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>
Bitte geben Sie die Quelle für den Nachdruck an.http://blog.csdn.net/z1104222568/article/details/42218125
|