4種方法讓springmvc接收多個物件
標籤: 表單提交陣列接收beanlistmolist接收json字串提交
問題背景:
我要在乙個表單裡同時一次性提交多名乘客的個人資訊到springmvc,前端html和springmvc controller裡該如何處理?
第1種方法:表單提交,以欄位陣列接收;
第2種方法:表單提交,以beanlistmodel接收;
第3種方法:將json物件序列化成json字串提交,以list接收;
第4種方法:將表單物件序列化成json字串提交,以list接收;
第4種方法其實是第3種方法的公升級,就是將表單轉成json物件,再轉成json字串提交;
然而,第4種方法還不支援含有多選控制項表單的提交,故應該還有第5種加強版的方法。
以上4種方法都共用同乙個user實體類,**如下:
public class user
list userlist = new arraylist();
for (int i = 0; i < id.length; i++ )
result = this.showuserlist(userlist);
return result;
第3種方法:將json物件序列化成json字串提交,以list接收
html**:
submituserlist_3
function submituserlist_3() );
customerarray.push();
$.ajax(
result = this.showuserlist(users);
return result;
第4種方法:將表單物件序列化成json字串提交,以list接收
html**:
submituserlist_4
//將表單序列化成json格式的資料(但不適用於含有控制項的表單,例如核取方塊、多選的select)
(function($);
var serializearray = this.serializearray();
// 先轉換成這種形式
$(serializearray).each(function () else else ,]的形式
var vcount = 0;
// 計算json內部的陣列最大長度
for(var item in jsondata1);
for(var item in jsondata1) else)(jquery);
function submituserlist_4()
result = this.showuserlist(users);
return result;
總結:第1、2種方法其實都有乙個共同的bug:假如提交三條記錄時,前面兩條記錄的某些欄位不填值的話,在springmvc裡接收不準確了。而且,每2種方法在hmtl中需要給name屬性新增[下標],如果下標有跨度的話(比如第一組控制項下標是0,第二組下標是2),那麼springmvc裡其實的是0到2三個物件的,預設下標是1的那個物件全為null值。
第3、4種方法最實用。
pip一次性安裝多個模組
建立乙個txt檔案,例如 requirements.txt,裡面寫入幾個模組,例如 django 2.1.5 psycopg2 2.7.7 django excel 0.0.10 pyexcel xls 0.5.8 然後需要安裝時,進入 requirements.txt 所在路徑,執行 pip in...
一次性成功
沒有人能隨隨便便成功 最近察覺到自己思維的乙個誤區,希望實現的目標第一次就成功,順順利利跳過失敗。這是大家都想要的結局,美好的期望總被現實的波浪所淹沒,因為失敗是避免不了的。一次性成功的想法導致焦慮,困惑,自我懷疑,這個時候如果放低要求換個角度思考,第一次失敗又如何,如果失敗了倒下了哪有怎樣?只要自...
檔案操作 一次性產生多個檔案
函式原型為 int sprintf char str,const char format,1 根據格式從字串中提取資料。如從字串中取出整數 浮點數和字串等。2 取指定長度的字串 3 取到指定字元為止的字串 4 取僅包含指定字符集的字串 5 取到指定字符集為止的字串 其實說白了,這個函式用法跟prin...