0
我在Spring MVC控制器上有一個操作方法,該方法的參數註釋爲@ModelAttribute
。但是,我不知道在編譯時該參數的類型是什麼 - 我知道抽象基類型,但不知道派生類型。手動執行ModelAttribute註解在Spring MVC中的作用
在運行時,我將能夠決定我期望什麼類,並且我將能夠獲得此類的新實例。但是,我不知道我應該調用哪些代碼來以與@ModelAttribute
相同的方式解析請求數據。
我環顧四周,似乎如果我可以得到持有的WebRequestDataBinder
我可以用它來填充我的對象,但爲此我需要一個BinderFactory
,這就是我迷失方向的地方。
任何人都可以在這裏給我一些提示 - 或者告訴我,我看錯了方向,需要做點別的嗎?
這也適用於複雜的對象,或只是原始值?它將如何知道要使用什麼類? – efdee
@efdee它可以用於你放入模型的任何類型......當我考慮你的評論時,這聽起來像你在談論'@ RequestParam'而不是'@ ModelAttribute'。使用@ @ ModelAttribute'通常可以控制模型內部的內容。也許我們交叉討論。你能提供一些代碼來清除你在做什麼嗎? – Yevgeniy
我認爲'@ RequestParam'是用於來自請求映射的參數,例如。對於'/ users /:id',id將是'@ RequestParam'。 我有一個包含數據的表單,我想將其發回給我的控制器。過去我使用過'@ ModelAttribute'來獲取數據到一個實際的對象中。然而,這個特定的表單是動態構建的,所以我不能在編譯時指定用於解析數據的具體類。但是,我可以在運行時檢查一些事情,以便最終了解它會是什麼類型。 – efdee