form action中传递参数的问题

我做了一个form 里面这样写的:

<form action="orderItem.action?orderIdz=1" method="get">
<table cellpadding="0" cellspacing="0" border="1px">
<tr>
<th width="200">orderId</th><th width="300">amount</th><th width="120">操作</th><th width="60"><a href="addOrder.action">添加</a></th>
</tr>
<s:iterator value="dataList">
<tr onclick="orderItem('<s:property value="orderId"/>')">
<td><s:property value="orderId"/></td><td><s:property value="amount"/></td>
</tr>
</s:iterator>
</table>
<button type="submit">go</button>
</form>

然后我在后台取orderIdz总是取不到,后来上网查了一下我在form中加上了method="post" ,在后台获取时用:


  HttpServletRequest request= ServletActionContext.getRequest();
 
  String roleId=request.getParameter("orderIdz");

就可以取到了。

查了一下原因:

 

表单提交中Get和Post方式的区别有5点

1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5.get安全性非常低,post安全性较高。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页