简介
模拟表单提交动作的控件。
如果你熟悉HTML中的Form的submit,那么就不难理解FormSubmitAction
<FORM action="http://server.com/cgi/handle" method="post"> 昵称 <INPUT type="text" name="nickname"><BR> 邮箱 <INPUT type="text" name="email"><BR> QQ <INPUT type="text" name="qq"><BR> 手机 <INPUT type="text" name="mobile"><BR> <INPUT type="submit" value="Send"> <INPUT type="reset"> </FORM>
FormSubmitAction就是将上面的提交抽象动作抽象为一个不可见的控件。
提供action和method属性,提交的数据由parameter管理:
formSubmitAction.set({ action:"http://server.com/cgi/handle", method:"post", parameter:{ nickname:"野生程序猿", firstName:"丁", lastName:"二", titleOfCourtesy:"xxxx" } }); formSubmitAction.execute();
通过这种机制,即使在页面上不定义<Form>html对象,你也可以比较简单的实现一个Form的submit的动作。
由于通常情况下action和method都是预先配置好的:
当我们需要调用它的时候直接设置parameter就可以:
formSubmitAction.set("parameter", { nickname:"野生程序猿", firstName:"丁", lastName:"二", titleOfCourtesy:"xxxx" }); formSubmitAction.execute();
或者利用Entity对象赋值的方式设置parameter并调用:
formSubmitAction.set("parameter", entity).execute();
详细属性说明
FormSubmitAction继承自Action,因此其基本属性请参考:Action
下面我们将只针对其特有的一些属性加以说明:
action
对应Form标记中的action:
<FORM action="http://server.com/cgi/handle" method="post">
method
对应Form标记中的method
<FORM action="http://server.com/cgi/handle" method="post">
target
对应Form标记中的target
<FORM action="http://server.com/cgi/handle" method="post" target="_self">
其它说明
由于Form的Submit最终都会被处理为字符串格式的数据,因此以下两种格式的数据做特别说明:
- Date类型的数据:最终会被转换为这个格式的数据:2012-11-16T09:11:16Z
- Entity类型的数据:最终会调用Entity.toJSON()转换为JSON数据提交到服务器