|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.springframework.webflow.action.AbstractAction
org.springframework.webflow.action.MultiAction
org.springframework.webflow.action.FormAction
org.unitedfront2.web.controller.FormAction
public class FormAction
入力フォーム用のアクションクラスです。ドメインファクトリ を
使ったフォームオブジェクトの設定やメールセンダ DomainFactory を使ったメール
送信の支援、検証クラス MailSenderSpringValidator を使った検証クラスのビューへの転送などを提供して
います。ドメインファクトリとメールセンダの設定は任意です。ドメインファクトリが設定されていてプロパティ変数
formObjectClass に値が設定されていない場合、
formObjectClass にはドメインファクトリで生成されるクラスが設定されます。
メールの送信には、メールテンプレートエンジン XmlTemplateSpringMailSender を利用
します。メールテンプレートでは、システムのメールアドレスと URL を引数として渡すことができます。
| 入れ子のクラスの概要 |
|---|
| クラス 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.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 |
| フィールドの詳細 |
|---|
public static final String VALIDATOR_PARAM_NAME
public static final String SYSYSTEM_MAIL_ADDR_PARAM_NAME
public static final String SYSYSTEM_URL_PARAM_NAME
public static final String SEND_MAIL_PARAM_NAME
public static final String LOCAL_CONFIGURATION_BEAN_NAME
protected DomainFactory domainFactory
| コンストラクタの詳細 |
|---|
public FormAction()
formErrorsScope の値を ScopeType.FLOW に設定しま
す。親クラスではデフォルトが ScopeType.FLASH になっています。
| メソッドの詳細 |
|---|
protected void initAction()
formObjectClass に値が設定さ
れていない場合、formObjectClass にはドメインファクトリで生成されるクラスが設定
されます。メール送信テンプレートの生成はこのメソッドで行われます。
FormAction 内の initAction
public Event setupForm(RequestContext context)
throws Exception
FormAction.setupForm(
RequestContext) を呼び出した後、検証クラスを設定します。このメソッドはフォームを表示する度に呼
び出されます。初回アクセス時はもちろん、検証エラーによって戻ってきた際にも呼び出されます。
FormAction 内の setupFormcontext - RequestContext
Event
Exception - ExceptionSpringValidator
protected Object getFormObject(RequestContext context)
throws IllegalArgumentException
FormAction の getFormObject
のシグネチャが Exception を発生する仕様になっており使いにくいため、拡張しています。
FormAction 内の getFormObjectcontext - リクエストコンテキスト
IllegalArgumentException - 引数が不正
protected Object createFormObject(RequestContext context)
throws Exception
prototype
メソッドを用いてドメインオブジェクトを生成し、設定されていなければ
FormAction.createFormObject(org.springframework.webflow.execution.RequestContext)
を実行して得られる値を返します。
FormAction 内の createFormObjectcontext - リクエストコンテキスト
Exception - 例外FormAction.createFormObject(org.springframework.webflow.execution.RequestContext)
public Event bindAndValidate(RequestContext context)
throws Exception
FormAction 内の bindAndValidateExceptionpublic Event init(RequestContext context)
context - RequestContext
SEND_MAIL_PARAM_NAME の値が設定される
public Event sendMail(RequestContext context)
throws Exception
doSendMail(RequestContext) を呼び出した後、成
功イベントを返します。
context - リクエストコンテキスト
Exception - Exception
protected void doSendMail(RequestContext context)
throws MailSendException
doSendMail(RequestContext, String)
を利用してください。
context - RequestContext
MailSendException - メール送信に失敗
protected void doSendMail(RequestContext context,
String mailTemplateName)
throws MailSendException
メール送信機能をただ一つ持つアクションクラスでは、sendMail(RequestContext) を
利用できます。複数のメール送信機能を持たせる場合、このメソッドをサブクラスのメール送信機能でで再利
用してください。
context - RequestContextmailTemplateName - 設定済みのメールテンプレート名
MailSendException - メール送信に失敗setMailTemplateNames(List),
SYSYSTEM_MAIL_ADDR_PARAM_NAME,
SYSYSTEM_URL_PARAM_NAME
protected Errors getBindingErrors(RequestContext context,
Object formObject)
FormAction.getFormObjectName() で取
得する値が使用されます。エラーは FormAction.getFormErrorsScope() で取得したスコープに設定
します。
context - RequestContextformObject - フォームオブジェクト
Errors
protected Errors getBindingErrors(RequestContext context,
Object formObject,
String formObjectName)
FormAction.getFormErrorsScope() で取得したスコープに設定します。
context - RequestContextformObject - フォームオブジェクトformObjectName - フォームオブジェクト名
Errors
protected void putFormObject(RequestContext context,
Object formObject)
context - RequestContextformObject - フォームオブジェクト
protected DataBinder createBinder(RequestContext context,
Object formObject,
String formObjectName)
throws Exception
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 ontoformObjectName - the form object name
Exception - when an unrecoverable exception occursWebDataBinder,
FormAction.initBinder(RequestContext, DataBinder),
FormAction.setMessageCodesResolver(
org.springframework.validation.MessageCodesResolver)public void setServletContext(ServletContext servletContext)
ServletContextAware 内の setServletContextprotected boolean isSendMail()
protected void setMailTemplateNames(List<String> mailTemplateNames)
XmlTemplateSpringMailSender のためのメール
テンプレート名リストを設定します。複数のテンプレートを使用する場合に使います。
mailTemplateNames - メールテンプレート名リストsetMailTemplateName(String)protected void setMailTemplateNames(String[] mailTemplateNames)
XmlTemplateSpringMailSender のためのメール
テンプレート名リストを設定します。複数のテンプレートを使用する場合に使います。
mailTemplateNames - メールテンプレート名配列setMailTemplateName(String)protected void setMailTemplateName(String mailTemplateName)
XmlTemplateSpringMailSender のためのメール
テンプレート名を設定します。単一のテンプレートを使用する場合に使います。
mailTemplateName - メールテンプレート名setMailTemplateNames(List)protected DomainFactory getDomainFactory()
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||