Struts 2 day 03 Struts 2.oブロッキング

3575 ワード

1.Struts 2.0ブロック   ブロッキング:アクションへのアクセス要求に追加機能を追加           保証プログラムの継続実行2.ブロックを開発する方法    1.クラスimplements Interceptorの開発    2.struts.xmlプロファイル      1                                 ブロックをカスタマイズし、Struts 2.0で提供されるデフォルトのブロックが無効になります.      2.ブロッキングを呼び出すアクションで構成         Actionでブロックを参照する順序によってブロックの実行順序が決定されます     複数のブロッキングがグループ呼び出しの場合、ブロッキングスタックを設定できます.
 
1.クラスMyInterceptor implements Interceptorインタフェースを書く
package com.jsu.struts2.interceptor;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor implements Interceptor {
	/**     */
        public void init() {
	}
       	/*
	 *          @ActionInvocation
	 * 1.  ActionContext:request,session,application... 
	 * 2.         
	 * 3.       Action     
	 * 4.    (valueStack)
	 */
        public String intercept(ActionInvocation invocation) throws Exception {
		System.out.println("Interceptor start....");
                // invocation.invoke()    ,     Action    
                String path = invocation.invoke();
                // invocation.invoke()    ,     Action    
                System.out.println("Interceptor end....");
		return path;
	}
         /*      */
        public void destroy() {
	}
}

 2.ActionMyActionextends ActionSupportを書く
package com.jsu.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class MyAction extends ActionSupport {
	public String execute(){
		System.out.println("execute Action");
		return SUCCESS;
	}
}

 3.Struts.xmlファイルの構成
   カスタムブロッカーはpackageラベルの下、actionラベルの上にあります
<struts>
	<package name="loginDemo" namespace="/" extends="struts-default">
	<!--        -->
	<interceptors>
		<interceptor name="MyInterceptor" class="com.jsu.struts2.interceptor.MyInterceptor"></interceptor>
	</interceptors>
	<!--       -->
	<action name="my" class="com.jsu.struts2.action.MyAction">
	<interceptor-ref name="MyInterceptor"></interceptor-ref>
	<interceptor-ref name="defaultStack"></interceptor-ref>
		<result>/login.jsp</result>
	</action>	
	</package>
</struts>

 login.jspページ
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head> </head>
  <body>
     <center>
   <form action="my.action" method="post">
   userName:<input type="text" name="username"/> <br>
   passWord:<input type="text" name="pwd"/><br>
   <input type="submit" value="Submit"/>
   </form>
   </center>
  </body>
</html>