|
1. Schrijf eerst een actie pakketactie; publieke klasse InterceptorAction { publieke String fun1() { return "ok"; }}
2. Actie configureren <pakketnaam="base" extends="struts-default"> <global-results> <resultaat naam="message">/index.jsp</result> <resultaat naam="message">/WEB-INF/page/message.jsp </result> </global-results>< </package> pakketnaam="delversi" naamruimte="/test" extends="basis"> <interceptors> <interceptor name="permission" class="interceptor.InterceptorDemo"></interceptor> <interceptor-stack name="permissionStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref naam="toestemming"></interceptor-ref> </interceptor-stack> </interceptors> <actienaam="interceptor_*" class="action.InterceptorAction" method="{1}"> <interceptor-ref name="permission"></interceptor-ref> <result name="ok">/ddd.jsp</result> </action>
De interceptorstack is gedefinieerd om de ingebouwde interceptors van het systeem te kunnen gebruiken
3. Schrijf een machtigingsblokker pakketonderscheppingsvliegtuig; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class InterceptorDemo implementeert Interceptor { public void destroy() { // TODO Auto-generated method stub } public void init() { // TODO Automatisch gegenereerde methode stub } publieke String intercept (ActionInvocation invocation) gooit Uitzondering { System.out.println("Enter interceptor"); } if (ActionContext.getContext().getSession().get("user") !=null ) { return invocation.invoke(); }else { ActionContext.getContext().put("message", "no permission"); return "message"; } }}Ingelogd, kwam goed terug, en kreeg bericht terug als dat niet zo was
4. Schrijf een jsp en injecteer de gebruiker in de sessie <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>
Geef alstublieft de bron aan voor herdrukhttp://blog.csdn.net/z1104222568/article/details/42218125
|