首頁 > web前端 > js教程 > Ajax+Struts2接收陣列表單(附程式碼)

Ajax+Struts2接收陣列表單(附程式碼)

php中世界最好的语言
發布: 2018-04-25 16:10:20
原創
1610 人瀏覽過

這次帶給大家Ajax Struts2接收陣列表單(附程式碼),Ajax Struts2接收陣列表單的注意事項有哪些,以下就是實戰案例,一起來看一下。

下面我將透過普通表單和ajax兩種方式講解。首先我們有以下一個實體,一個action和一個jsp。

Student.java

public class Student
{
 private String name;
 private String num;
}
StudentAction.java
public class StudentAction extends ActionSupport
{
 private List<Student> lstStu;
}
登入後複製

xy.jsp

<script type="text/javascript">
 var stus = [];
 stus.push({num:"1",name:"xy1"});
 stus.push({num:"2",name:"xy2"});
 stus.push({num:"3",name:"xy3"});
</script>
登入後複製

下面開始吧,以下程式碼都是寫在xy. jsp的腳本區的。

普通表單形式-遍歷陣列,建構表單隱藏域

var htmlContent = "";
for(var i=0;i<stus.length;i++){
 htmlContent += "<input type=&#39;hidden&#39; name=&#39;lstStu[" + i + "].name&#39; value=&#39;" + stus[i].name + " &#39; />";
 htmlContent += "<input type=&#39;hidden&#39; name=&#39;lstStu[" + i + "].num&#39; value=&#39;" + stus[i].num + " &#39; />";
}
登入後複製

特殊情況

<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy1&#39; />
<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy2&#39; />
<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy3&#39; />
登入後複製

傳單一屬性時,struts可以認識,表示3個不同的student。但傳送兩個屬性就不行了,因為struts不知道組合。不推薦。

ajax形式-遍歷數組,建構json物件

var param = {};
for(var i=0;i<stus.length;i++){
 param["lstStu[" + i + "].name"] = stus[i].name;
 param["lstStu[" + i + "].num"] = stus[i].num;
}
$.ajax({
 data:param
});
登入後複製

其實我們建構了這樣一個json物件

data:{
 lstStu[0].num:"1",lstStu[0].name:"xy1",
 lstStu[1].num:"2",lstStu[1].name:"xy2",
 lstStu[2].num:"3",lstStu[0].name:"xy3"
}
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

JSONP實作原理與案例詳解

#jQuery裡ajax.load()方法應如何使用

#

以上是Ajax+Struts2接收陣列表單(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板