2015-05-31 55 views
1

要求是讓用戶上傳的門票清單的東西,如:Spring MVC + jsp:如何接收控制器中的項目列表?

@RequestMapping(value="/tickets", method=RequestMethod.POST) 
public void uploadTickets(
      @RequestBody List<Ticket> tickets) { 
     // Do something with the list of tickets 
    } 

我知道如何上傳一張單程票。我只需要創建一個帶有三個字段(section,row,seat)和一個提交按鈕的html表單。然後spring會自動將上傳的表單轉換爲Ticket對象。但我不確定如何使用Spring控制器上傳票單列表。任何幫助?謝謝!

+0

你的意思是從客戶端上傳列表下面給出的,而不是單一的票,? – Arpit

+0

@Arpit是的。我不知道如何編寫客戶端代碼並使其支持Spring。 – darklord

回答

1

這取決於您的配置。假設正常的彈簧配置。

通常你上傳一張單程票與JSON請求

{ "section":"", "seat":"", "row":"" } 

買到票的列表,只需使用JSON數組。

[ 
    { "section":"", "seat":"", "row":"" }, 
    ......., 
    { "section":"", "seat":"", "row":"" } 
] 

要將數據轉換爲這種格式,當然要取決於前端。您可能需要在前端執行一些JavaScript以將其轉換爲此格式。

+0

謝謝你的回答。我認爲它會起作用。但是,你認爲有一個JavaScript免費的解決方案? – darklord

+0

沒有JavaScript,我認爲你需要綁定你的輸入元素,如票據[0] .id,票[0] .name等與第一票相關聯的列表和票[1] .id,票[1] .name等與第二張票相關聯。 –

0

你可以把它放在模型對象並獲取數據從模型對象的實例

@RequestMapping(value="/tickets", method=RequestMethod.POST) 
    public String uploadTickets(Map<String, Object> model) { 

    Ticket t = new Ticket(); 
    model.put("ticket", t); 
    return "page";//return page or redirect. 
} 
相關問題