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インタフェースを書く
2.ActionMyActionextends ActionSupportを書く
3.Struts.xmlファイルの構成
カスタムブロッカーはpackageラベルの下、actionラベルの上にあります
login.jspページ
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>