简介:action 属性规定当提交表单时,向何处发送表单数据。
<form action="form_action.asp" method="get">
<p>First name: <input type="text" name="fname" /></p>
<p>Last name: <input type="text" name="lname" /></p>
<input type="submit" value="Submit" />
</form>
下面的表单拥有两个输入字段以及一个提交按钮,当提交表单时,表单数据会提交到名为 "form_action.asp" 的页面。
向何处发送表单数据,可能的值:
向何处发送表单数据,可能的值:
- 绝对 URL - 指向其他站点(比如 src="www.example.com/example.htm")
- 相对 URL - 指向站点内的文件(比如 src="example.htm")
对于webx框架,与上面的有所区别,里面会先做一层Action处理
实例:
1. 客户端发起一个请求
2. 服务端接收请求,通过request获取参数及cookie信息,调服务化接口查db,然后进行各种业务逻辑处理,最后将数据放到context上下文中,通过velocity模板引擎,将数据渲染到vm模板,最后得到数据流,通过网络响应到客户端,由客户端浏览器解析成一个可视页面。
图1. 页面源代码之form数据
3. 修改form 中action 的buyAmount数据为555,提交订单
图2. 修改后的form
图3.fiddlel监控到的请求及参数信息
4. 提交后,首先会做form表单校验,参数会封装到Group中(一个页面支持多个表单)。webx框架会通过查找相应的Action指定类处理业务逻辑,最后如果指定了外部重定向(响应体的Location会有一个新的url,浏览器会自动向这个新的url发请求),此时不会进行Form-action 的Screen处理。反之,执行完Action类后,会执行MakeOrder Screen类.
以上