|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.web.struts.plugins.BLogicIOPlugIn
public class BLogicIOPlugIn
ビジネスロジック入出力の設定情報をロードするプラグイン。
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>
<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のプロパティ名とする。
と設定し、ビジネスロジック内からアクションフォームのfield1
の値を取得する場合、
bean.getBlogicField1()
を実行することでアクションフォームの値が取得できる。
<set-property property="field1" blogic-property="blogicField1"
source="form" />
入力元のデータがセッションの値でも同様であり、
と設定し、ビジネスロジック内からfield2というキーでセッションに格納
されている値を取得する場合、
bean.getBlogicField2()
を実行すれば良い。
つまり、ビジネスロジック側からはデータの入力元がアクションフォーム
であるのか、セッションであるのかを意識する必要はない。
<set-property property="field2" blogic-property="blogicField2"
source="session" />
この設定情報は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 |
フィールドの詳細 |
---|
public static final String BLOGIC_MAPPER_KEY
コンストラクタの詳細 |
---|
public BLogicIOPlugIn()
メソッドの詳細 |
---|
public void destroy()
org.apache.struts.action.PlugIn
内の destroy
public void init(org.apache.struts.action.ActionServlet servlet, org.apache.struts.config.ModuleConfig config) throws javax.servlet.ServletException
BLogicResources、及び BLogicMapperを サーブレットコンテキストに登録する。
このプラグインを起動したサーブレット、モジュールコンフィグが nullであるとき、 NullPointerExceptionが 発生する
org.apache.struts.action.PlugIn
内の init
servlet
- このプラグインを起動したサーブレットconfig
- モジュールコンフィグ
javax.servlet.ServletException
- 初期化時例外public String getPublicIdentifier()
public String getDtdUrl()
public void setDigesterRules(String digesterRules)
digesterRules
- blogic-io-rules.xmlpublic void setResources(String resources)
resources
- blogic-io.xmlpublic void setMapperClass(String mapperStr)
mapperStr
- ビジネスロジック入出力情報反映クラス名public void setPublicIdentifier(String publicIdentifier)
publicIdentifier
- 公開識別子public void setDtdUrl(String dtdUrl)
dtdUrl
- DTDのURL
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |