jp.terasoluna.fw.web.struts.plugins
クラス BLogicIOPlugIn

java.lang.Object
  上位を拡張 jp.terasoluna.fw.web.struts.plugins.BLogicIOPlugIn
すべての実装されたインタフェース:
org.apache.struts.action.PlugIn

public class BLogicIOPlugIn
extends Object
implements org.apache.struts.action.PlugIn

ビジネスロジック入出力の設定情報をロードするプラグイン。

StrutsのPlugIn機能を使用し、サーブレット初期化時に ビジネスロジック入出力の設定を読み込み、サーブレットコンテキスト に保存する。
この機能を使用するにはstruts-config.xmlに以下のように設定する。 ( digesterRules、mapperClassは省略可。) なお、resourcesはカンマでファイルを連結できる。

 <plug-in
   className="jp.terasoluna.fw.web.struts.plugins.BLogicIOPlugIn">
    <set-property
        property="resources"
        value="/WEB-INF/blogic-io.xml"/>
    <set-property
        property="digesterRules"
        value="/WEB-INF/blogic-io-rules.xml"/>
    <set-property
        property="mapperClass"
        value="jp.terasoluna.fw.service.thin.BLogicMapper"/>
 </plug-in>
 

ビジネスロジック入出力情報反映クラスを拡張クラスに変更する場合は、 mapperClassのvalue属性にAbstractBLogicMapperのサブクラス、 またはBLogicMapperを継承したBLogicMapper拡張クラスを設定する。

blogic-io.xmlにはアクションごとにビジネスロジック の入出力情報を設定する。
下記はblogic-io.xmlの設定である。
 <blogic-io>
   <action path="/logon/logonAction">
     <blogic-param bean-name="jp.terasoluna.sample.blogic.LogonBean">
       <set-property property="userName"
                        blogic-property="userName"
                        source="form" />
       <set-property property="sessionId"
                        blogic-property="id"
                        source="session" />
     </blogic-param>
     <blogic-result>
       <set-property property="resultStr"
                        blogic-property="result"
                        dest="form" />
       <set-property property="USER_VALUE_OBJECT"
                        blogic-property="uvo"
                        dest="session" />
     </blogic-result>
   </action>
   ・・・
 </blogic-io>
 

ビジネスロジックの入力値情報は<blogic-param> 要素内で設定する。bean-name属性には入力値を格納する JavaBeanのクラス名を指定する。このJavaBeanは、後述する blogic-property属性に指定されるプロパティを所持していなければならない。
但し、入力値が存在しないビジネスロジックの場合は、bean-name属性を省略 することで、引数がnullのビジネスロジックを実行可能である。
入力値情報の元となるデータはアクションフォームやセッションなどのWeb層に 設定されている情報であり、どこからデータを取得するかは <set-property>要素のsource属性に指定された文字列で識別する。 デフォルトでは、form,sessionのどちらかをsource属性に記述することで 情報元がアクションフォームかセッションかを識別する。
入力元のデータのプロパティ名はproperty属性で指定する。 すなわち、
property="field1" source="form"と設定した場合は、 actionForm.get("field1")が実行され、 property="field2" source="session"と設定した場合は、 session.getAttribute("field2")が実行される。
上記の結果取得された値は、前述のbean-name属性で指定された JavaBeanインスタンスのプロパティ値としてビジネスロジックから取得できる。 JavaBeanから値を取得する場合は、blogic-propertyで指定した値が プロパティ名となる。blogic-property属性が指定されない場合、 property属性と同じ値をJavaBeanのプロパティ名とする。

  <set-property property="field1" blogic-property="blogicField1"
                   source="form" />
 
と設定し、ビジネスロジック内からアクションフォームのfield1 の値を取得する場合、 bean.getBlogicField1() を実行することでアクションフォームの値が取得できる。
入力元のデータがセッションの値でも同様であり、
  <set-property property="field2" blogic-property="blogicField2"
                   source="session" />
 
と設定し、ビジネスロジック内からfield2というキーでセッションに格納 されている値を取得する場合、 bean.getBlogicField2() を実行すれば良い。 つまり、ビジネスロジック側からはデータの入力元がアクションフォーム であるのか、セッションであるのかを意識する必要はない。
この設定情報はBLogicResourcesのインスタンスに 読み込まれ、サーブレットコンテキストに保存される。


公開識別子、およびDTDのURLを変更する場合は、
getPublicIdentifier()とgetDtdUrl()をオーバーライドすること。

関連項目:
BLogicAction, BLogic, BLogicResources, BLogicResult, AbstractBLogicMapper, BLogicMapper

フィールドの概要
static String BLOGIC_MAPPER_KEY
          サーブレットコンテキストに登録されるBLogicMapperの プリフィックスキー。
 
コンストラクタの概要
BLogicIOPlugIn()
           
 
メソッドの概要
 void destroy()
          終了時処理。
 String getDtdUrl()
          DTDのURLを返却する。
 String getPublicIdentifier()
          公開識別子を返却する。
 void init(org.apache.struts.action.ActionServlet servlet, org.apache.struts.config.ModuleConfig config)
          PlugInの初期化時処理。
 void setDigesterRules(String digesterRules)
          blogic-io-rules.xmlを設定する。
 void setDtdUrl(String dtdUrl)
          DTDのURLを設定する。
 void setMapperClass(String mapperStr)
          ビジネスロジック入出力情報反映クラスを設定する。
 void setPublicIdentifier(String publicIdentifier)
          公開識別子を設定する。
 void setResources(String resources)
          blogic-io.xmlを設定する。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

BLOGIC_MAPPER_KEY

public static final String BLOGIC_MAPPER_KEY
サーブレットコンテキストに登録されるBLogicMapperの プリフィックスキー。

関連項目:
定数フィールド値
コンストラクタの詳細

BLogicIOPlugIn

public BLogicIOPlugIn()
メソッドの詳細

destroy

public void destroy()
終了時処理。

定義:
インタフェース org.apache.struts.action.PlugIn 内の destroy

init

public void init(org.apache.struts.action.ActionServlet servlet,
                 org.apache.struts.config.ModuleConfig config)
          throws javax.servlet.ServletException
PlugInの初期化時処理。

BLogicResources、及び BLogicMapperを サーブレットコンテキストに登録する。

このプラグインを起動したサーブレット、モジュールコンフィグが nullであるとき、 NullPointerExceptionが 発生する

定義:
インタフェース org.apache.struts.action.PlugIn 内の init
パラメータ:
servlet - このプラグインを起動したサーブレット
config - モジュールコンフィグ
例外:
javax.servlet.ServletException - 初期化時例外

getPublicIdentifier

public String getPublicIdentifier()
公開識別子を返却する。 公開識別子を変更する場合は、このメソッドをオーバーライドする。

戻り値:
公開識別子

getDtdUrl

public String getDtdUrl()
DTDのURLを返却する。 DTDのURLを変更する場合は、このメソッドをオーバーライドする。

戻り値:
DTDのURL

setDigesterRules

public void setDigesterRules(String digesterRules)
blogic-io-rules.xmlを設定する。

パラメータ:
digesterRules - blogic-io-rules.xml

setResources

public void setResources(String resources)
blogic-io.xmlを設定する。

パラメータ:
resources - blogic-io.xml

setMapperClass

public void setMapperClass(String mapperStr)
ビジネスロジック入出力情報反映クラスを設定する。

パラメータ:
mapperStr - ビジネスロジック入出力情報反映クラス名

setPublicIdentifier

public void setPublicIdentifier(String publicIdentifier)
公開識別子を設定する。

パラメータ:
publicIdentifier - 公開識別子

setDtdUrl

public void setDtdUrl(String dtdUrl)
DTDのURLを設定する。

パラメータ:
dtdUrl - DTDのURL


Copyright © 2012. All Rights Reserved.