springMVC中復雜嵌套對象、List等集合類型數據綁定 接收對象數組


目錄:

  1. 概述
  2. 實現方法及測試

[一]、概述

繼前面一篇 springMVC 頁面中多個對象的數據綁定 ,本文主要介紹如果實現復雜類型對象的數據綁定,比如前文中的父級對象CourseInfo 中增加:String[] times , List<Student> studentList 這兩個復雜類型屬性,頁面中數據如何才能准確綁定到對象上呢?

[二]、實現方法及測試

CourseInfo.java 修改成如下:

Student.java :

view 層頁面修改成如下:

注意:復雜對象在頁面元素中各屬性的定義規則。

controller 對應的 CourseAction.java  實現修改成如下:

controller中的部分方法省略,這里主要測試下頁面數據綁定的結果,測試過程如下:

表單輸入內容如下圖:

 

提交后,控制台輸出日志如下:

從日志中可以看出:不管是string數組對象times 還是復雜列表對象 studentList,數據綁定准確無誤。

本文介紹到此結束@Michael Sun.

原創文章,轉載請注明: 轉載自micmiu – 軟件開發+生活點滴http://www.micmiu.com/ ]

本文鏈接地址: http://www.micmiu.com/j2ee/spring/springmvc-view-complex/

 

 

 

 

 

pring mvc 接收對象數組
開發中遇到這種需求,需要在后台接收一個對象數組進行添加。 比如添加明細信息。 請問在后台spring mvc 如何接收對象數組,前台通過ajax請求或者 easyUI的 form表單 提交數據都可以。

------解決方案--------------------------------------------------------
input中的name都相同,在后台,用

String[] names = request.getParameterValues("name");// 名稱
String[] moneys = request.getParameterValues("money");// 密碼
.....N行,N=對象中的屬性的個數

然后寫個for循環,按照其中一個數組來循環,
for (int i = 0; i < names.length; i++) {
先new對象,然后根據屬性一次賦值,這些數組中的屬性和前台的順序是一致的
}
------解決方案--------------------------------------------------------
將數組包裝一下

比如你要接收一個Bank類型的數組,那么先建一個類
class BankArray{
private Bank banks[] ;

public void setBanks(Bank[] banks) {
this.banks = banks;
}

public Bank[] getBanks() {
return banks;
}
}

//用 BankArray 作參數
@RequestMapping(value ="xxx" , method = RequestMethod.POST)
public ModelAndView doLogOut(BankArray param){ }

/* 頁面用下面的方式 */
<input name="banks[0].name" value="name1" />
<input name="banks[0].address" value="address1" />

<input name="banks[1].name" value="name2" />
<input name="banks[1].address" value="address2" />

<input name="banks[2].name" value="name3" />
<input name="banks[2].address" value="address3" />

 

P2P項目中測試確實可以,備忘


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM