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 οnclick="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安全性較高。


發佈了7 篇原創文章 · 獲贊 43 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章