|
1. まずアクションを書く パッケージアクション; public class InterceptorAction { public String fun1() { return "ok"; }}
2. アクションの設定 <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 </package> name="delversi" namespace="/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>
インターセプタースタックは、システムに内蔵されたインターセプターを使用できるよう定義されています
3. 許可ブロッカーを作成する パッケージインターセプター、 import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class InterceptorDemo は Interceptor を実装します { public void destroy() { // TODO 自動生成メソッド stub } public void init() { // TODO:自動生成メソッドスタブ } public 文字列 intercept(ActionInvocation invocation) は Exception を投げます { System.out.println("Enter interceptor"); } if (ActionContext.getContext().getSession().get("user") !=null ) { return invocation.invoke(); }else { ActionContext.getContext().put("message", "no permission"); 「メッセージ」を返す; } }}ログインしてOKと返事をし、もしダメならメッセージを返しました
4. jspを書き、ユーザーをセッションに注入します <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>
転載の際は出典を明記してくださいhttp://blog.csdn.net/z1104222568/article/details/42218125
|