簡體   English   中英

Spring MVC:ModelAttribute形式=更多POJOS?

[英]Spring MVC: ModelAttribute forms = more POJOS?

以此POJO為域。

public class Invoice {
    private String codeNumber;
    private BigDecimal amount;
    private String notes;

    private List<InvoiceRows> rows;      
}

我有一個將其作為@ModelAttribute的形式。 該表格有四個文本輸入:codeNumber,金額,注釋和“ emailAddressToNotify”。 POJO的“行”屬性填充在另一個位置,因此將其忽略,沒錯。

另一方面,“ emailAddressToNotify”屬性由表單的“ POST”發送,但顯然與發票POJO不相關。 實際上,我在控制器的“ processForm()”方法中需要它。

我可以簡單地添加一個@RequestParam參數來獲取它嗎?

這是問題的第二部分,與第一部分有關:

在我的Web應用程序中,我經常會寫“巨大”的表格,其中的字段並不總是與我的域對象之一的字段相對應。 所以,我問你什么是最佳實踐:

我是否必須編寫“專用於表單的” POJO,以便始終可以使用@ModelAttribute並以簡單的方式驗證字段? 要么... ?

我可以簡單地添加一個@RequestParam參數來獲取它嗎?

我想您是在問是否可以在一個控制器方法中同時使用@RequestParam和POJO綁定。 是的,這是可能的。 也許您應該只是嘗試過而不是詢問它?

我是否必須編寫“專用於表單的” POJO,以便始終可以使用@ModelAttribute並以簡單的方式驗證字段? 要么... ?

這取決於...您需要提供一個示例,以獲取有用的答案。 即您是否要以一種形式綁定到多個POJO,字段名稱是否根本不匹配,您不想顯示的POJO中是否有其他字段,POJO是否具有大量嵌套的類等?

通常有一個簡單的扁平bean / POJO用作“表單支持bean”。 它們通常也稱為DTO(數據傳輸對象)。 請參閱什么是數據傳輸對象?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM