org.unitedfront2.web.controller
クラス FormAction

java.lang.Object
  上位を拡張 org.springframework.webflow.action.AbstractAction
      上位を拡張 org.springframework.webflow.action.MultiAction
          上位を拡張 org.springframework.webflow.action.FormAction
              上位を拡張 org.unitedfront2.web.controller.FormAction
すべての実装されたインタフェース:
InitializingBean, ServletContextAware, Action
直系の既知のサブクラス:
AuthenticationAction, EmailForwardingAction, EntryViewAction, FormAction, FormAction, FormAction, FormAction, MailAddrChangeAction, MailAddrRegisterAction, PasswordChangeAction, PasswordReissueAction, RegistrationAction, SendMailActionSupport

public class FormAction
extends FormAction
implements ServletContextAware

入力フォーム用のアクションクラスです。ドメインファクトリ DomainFactory を 使ったフォームオブジェクトの設定やメールセンダ MailSender を使ったメール 送信の支援、検証クラス SpringValidator を使った検証クラスのビューへの転送などを提供して います。ドメインファクトリとメールセンダの設定は任意です。ドメインファクトリが設定されていてプロパティ変数 formObjectClass に値が設定されていない場合、 formObjectClass にはドメインファクトリで生成されるクラスが設定されます。

メールの送信には、メールテンプレートエンジン XmlTemplateSpringMailSender を利用 します。メールテンプレートでは、システムのメールアドレスと URL を引数として渡すことができます。

作成者:
kurokkie

入れ子のクラスの概要
 
クラス org.springframework.webflow.action.MultiAction から継承された入れ子のクラス/インタフェース
MultiAction.MethodResolver
 
フィールドの概要
protected  DomainFactory domainFactory
          ドメインファクトリ
static String LOCAL_CONFIGURATION_BEAN_NAME
          ローカル設定ファイルの Bean 名 (localConfiguration)
static String SEND_MAIL_PARAM_NAME
          メール送信フラグの変数名 (sendMail)
static String SYSYSTEM_MAIL_ADDR_PARAM_NAME
          システムメールアドレスの変数名 (_systemMailAddr)
static String SYSYSTEM_URL_PARAM_NAME
          システム URL の変数名 (_systemUrl)
static String VALIDATOR_PARAM_NAME
          検証クラスの変数名 (validator)
 
クラス org.springframework.webflow.action.FormAction から継承されたフィールド
DEFAULT_FORM_OBJECT_NAME, VALIDATOR_METHOD_ATTRIBUTE
 
クラス org.springframework.webflow.action.AbstractAction から継承されたフィールド
logger
 
コンストラクタの概要
FormAction()
          プロパティ formErrorsScope の値を ScopeType.FLOW に設定しま す。
 
メソッドの概要
 Event bindAndValidate(RequestContext context)
           
protected  DataBinder createBinder(RequestContext context, Object formObject, String formObjectName)
          Create a new binder instance for the given form object and request context.
protected  Object createFormObject(RequestContext context)
          フォームオブジェクトを生成します。
protected  void doSendMail(RequestContext context)
          メールの送信を行います。
protected  void doSendMail(RequestContext context, String mailTemplateName)
          メールの送信を行います。
protected  Errors getBindingErrors(RequestContext context, Object formObject)
          バインド中のエラーを返します。
protected  Errors getBindingErrors(RequestContext context, Object formObject, String formObjectName)
          バインド中のエラーを返します。
protected  DomainFactory getDomainFactory()
           
protected  Object getFormObject(RequestContext context)
          FormAction の getFormObject のシグネチャが Exception を発生する仕様になっており使いにくいため、拡張しています。
 Event init(RequestContext context)
          初期化処理を行います。
protected  void initAction()
          ドメインファクトリが設定されていてプロパティ変数 formObjectClass に値が設定さ れていない場合、formObjectClass にはドメインファクトリで生成されるクラスが設定 されます。
protected  boolean isSendMail()
           
protected  void putFormObject(RequestContext context, Object formObject)
          コンテキスト内にフォームオブジェクトを再設定します。
 Event sendMail(RequestContext context)
          メールを送信するアクションです。
protected  void setMailTemplateName(String mailTemplateName)
          メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名を設定します。
protected  void setMailTemplateNames(List<String> mailTemplateNames)
          メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名リストを設定します。
protected  void setMailTemplateNames(String[] mailTemplateNames)
          メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名リストを設定します。
 void setServletContext(ServletContext servletContext)
           
 Event setupForm(RequestContext context)
          FormAction.setupForm( RequestContext) を呼び出した後、検証クラスを設定します。
 
クラス org.springframework.webflow.action.FormAction から継承されたメソッド
bind, createBinder, doBind, doValidate, getFormErrors, getFormErrorsScope, getFormObjectAccessor, getFormObjectClass, getFormObjectName, getFormObjectScope, getMessageCodesResolver, getPropertyEditorRegistrar, getValidateMethodInvoker, getValidator, initBinder, registerPropertyEditors, registerPropertyEditors, resetForm, setFormErrorsScope, setFormObjectClass, setFormObjectName, setFormObjectScope, setMessageCodesResolver, setPropertyEditorRegistrar, setValidator, validate, validationEnabled
 
クラス org.springframework.webflow.action.MultiAction から継承されたメソッド
doExecute, getMethodResolver, setMethodResolver, setTarget
 
クラス org.springframework.webflow.action.AbstractAction から継承されたメソッド
afterPropertiesSet, doPostExecute, doPreExecute, error, error, execute, getActionNameForLogging, getEventFactorySupport, no, result, result, result, result, success, success, yes
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.springframework.beans.factory.InitializingBean から継承されたメソッド
afterPropertiesSet
 

フィールドの詳細

VALIDATOR_PARAM_NAME

public static final String VALIDATOR_PARAM_NAME
検証クラスの変数名 (validator)

関連項目:
定数フィールド値

SYSYSTEM_MAIL_ADDR_PARAM_NAME

public static final String SYSYSTEM_MAIL_ADDR_PARAM_NAME
システムメールアドレスの変数名 (_systemMailAddr)

関連項目:
定数フィールド値

SYSYSTEM_URL_PARAM_NAME

public static final String SYSYSTEM_URL_PARAM_NAME
システム URL の変数名 (_systemUrl)

関連項目:
定数フィールド値

SEND_MAIL_PARAM_NAME

public static final String SEND_MAIL_PARAM_NAME
メール送信フラグの変数名 (sendMail)

関連項目:
定数フィールド値

LOCAL_CONFIGURATION_BEAN_NAME

public static final String LOCAL_CONFIGURATION_BEAN_NAME
ローカル設定ファイルの Bean 名 (localConfiguration)

関連項目:
定数フィールド値

domainFactory

protected DomainFactory domainFactory
ドメインファクトリ

コンストラクタの詳細

FormAction

public FormAction()
プロパティ formErrorsScope の値を ScopeType.FLOW に設定しま す。親クラスではデフォルトが ScopeType.FLASH になっています。

メソッドの詳細

initAction

protected void initAction()
ドメインファクトリが設定されていてプロパティ変数 formObjectClass に値が設定さ れていない場合、formObjectClass にはドメインファクトリで生成されるクラスが設定 されます。メール送信テンプレートの生成はこのメソッドで行われます。

オーバーライド:
クラス FormAction 内の initAction

setupForm

public Event setupForm(RequestContext context)
                throws Exception
FormAction.setupForm( RequestContext) を呼び出した後、検証クラスを設定します。このメソッドはフォームを表示する度に呼 び出されます。初回アクセス時はもちろん、検証エラーによって戻ってきた際にも呼び出されます。

オーバーライド:
クラス FormAction 内の setupForm
パラメータ:
context - RequestContext
戻り値:
Event
例外:
Exception - Exception
関連項目:
SpringValidator

getFormObject

protected Object getFormObject(RequestContext context)
                        throws IllegalArgumentException
FormAction の getFormObject のシグネチャが Exception を発生する仕様になっており使いにくいため、拡張しています。

オーバーライド:
クラス FormAction 内の getFormObject
パラメータ:
context - リクエストコンテキスト
戻り値:
フォームオブジェクト
例外:
IllegalArgumentException - 引数が不正

createFormObject

protected Object createFormObject(RequestContext context)
                           throws Exception
フォームオブジェクトを生成します。ドメインファクトリが設定されていればその prototype メソッドを用いてドメインオブジェクトを生成し、設定されていなければ FormAction.createFormObject(org.springframework.webflow.execution.RequestContext) を実行して得られる値を返します。

オーバーライド:
クラス FormAction 内の createFormObject
パラメータ:
context - リクエストコンテキスト
戻り値:
フォームオブジェクト
例外:
Exception - 例外
関連項目:
FormAction.createFormObject(org.springframework.webflow.execution.RequestContext)

bindAndValidate

public Event bindAndValidate(RequestContext context)
                      throws Exception
オーバーライド:
クラス FormAction 内の bindAndValidate
例外:
Exception

init

public Event init(RequestContext context)
初期化処理を行います。

パラメータ:
context - RequestContext
戻り値:
成功イベント
'事後条件:'
フロースコープに、変数 SEND_MAIL_PARAM_NAME の値が設定される

sendMail

public Event sendMail(RequestContext context)
               throws Exception
メールを送信するアクションです。doSendMail(RequestContext) を呼び出した後、成 功イベントを返します。

パラメータ:
context - リクエストコンテキスト
戻り値:
成功イベント
例外:
Exception - Exception

doSendMail

protected void doSendMail(RequestContext context)
                   throws MailSendException
メールの送信を行います。このメソッドは、メールテンプレートをただ一つ設定した場合にのみ有効です。複数 のメールテンプレートを設定している場合は、doSendMail(RequestContext, String) を利用してください。

パラメータ:
context - RequestContext
例外:
MailSendException - メール送信に失敗

doSendMail

protected void doSendMail(RequestContext context,
                          String mailTemplateName)
                   throws MailSendException
メールの送信を行います。メール送信フラグが有効になっている必要があります。リクエストスコープに保存し てあるモデルと、システムのメールアドレスと URL をメール送信テンプレートエンジンに引き渡します。

メール送信機能をただ一つ持つアクションクラスでは、sendMail(RequestContext) を 利用できます。複数のメール送信機能を持たせる場合、このメソッドをサブクラスのメール送信機能でで再利 用してください。

パラメータ:
context - RequestContext
mailTemplateName - 設定済みのメールテンプレート名
例外:
MailSendException - メール送信に失敗
関連項目:
setMailTemplateNames(List), SYSYSTEM_MAIL_ADDR_PARAM_NAME, SYSYSTEM_URL_PARAM_NAME

getBindingErrors

protected Errors getBindingErrors(RequestContext context,
                                  Object formObject)
バインド中のエラーを返します。フォームオブジェクト名には、FormAction.getFormObjectName() で取 得する値が使用されます。エラーは FormAction.getFormErrorsScope() で取得したスコープに設定 します。

パラメータ:
context - RequestContext
formObject - フォームオブジェクト
戻り値:
Errors

getBindingErrors

protected Errors getBindingErrors(RequestContext context,
                                  Object formObject,
                                  String formObjectName)
バインド中のエラーを返します。フォームオブジェクト名を明示的に指定できます。エラーは FormAction.getFormErrorsScope() で取得したスコープに設定します。

パラメータ:
context - RequestContext
formObject - フォームオブジェクト
formObjectName - フォームオブジェクト名
戻り値:
Errors

putFormObject

protected void putFormObject(RequestContext context,
                             Object formObject)
コンテキスト内にフォームオブジェクトを再設定します。

パラメータ:
context - RequestContext
formObject - フォームオブジェクト

createBinder

protected DataBinder createBinder(RequestContext context,
                                  Object formObject,
                                  String formObjectName)
                           throws Exception
Create a new binder instance for the given form object and request context. Can be overridden to plug in custom DataBinder subclasses.

Default implementation creates a standard WebDataBinder, and invokes FormAction.initBinder(RequestContext, DataBinder) and FormAction.registerPropertyEditors( org.springframework.beans.PropertyEditorRegistry).

パラメータ:
context - the action execution context, for accessing and setting data in "flow scope" or "request scope"
formObject - the form object to bind onto
formObjectName - the form object name
戻り値:
the new binder instance
例外:
Exception - when an unrecoverable exception occurs
関連項目:
WebDataBinder, FormAction.initBinder(RequestContext, DataBinder), FormAction.setMessageCodesResolver( org.springframework.validation.MessageCodesResolver)

setServletContext

public void setServletContext(ServletContext servletContext)
定義:
インタフェース ServletContextAware 内の setServletContext

isSendMail

protected boolean isSendMail()

setMailTemplateNames

protected void setMailTemplateNames(List<String> mailTemplateNames)
メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名リストを設定します。複数のテンプレートを使用する場合に使います。

パラメータ:
mailTemplateNames - メールテンプレート名リスト
関連項目:
setMailTemplateName(String)

setMailTemplateNames

protected void setMailTemplateNames(String[] mailTemplateNames)
メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名リストを設定します。複数のテンプレートを使用する場合に使います。

パラメータ:
mailTemplateNames - メールテンプレート名配列
関連項目:
setMailTemplateName(String)

setMailTemplateName

protected void setMailTemplateName(String mailTemplateName)
メール送信テンプレートエンジン XmlTemplateSpringMailSender のためのメール テンプレート名を設定します。単一のテンプレートを使用する場合に使います。

パラメータ:
mailTemplateName - メールテンプレート名
関連項目:
setMailTemplateNames(List)

getDomainFactory

protected DomainFactory getDomainFactory()


Copyright © 2007-2008 www.unitedfront2.org. All Rights Reserved.