1

我知道使用Spring MVC可以使用RequestMapping註釋來註釋整個控制器類。還可以使用Requestmapping註釋單獨的方法,以便它們的每個請求映射都與整個類的請求映射有關。使用Spring MVC可以在控制器本身中定義過濾方法

如果我可以指定控制器的一種方法,就像某種每個控制器過濾器一樣,它會在給定方法的每個相應操作方法之前執行。這是可能的,或者我應該保持現有的方式使用一個單獨的過濾器類(這是可以避免的,我希望)

回答

1

這將是很好,如果那麼我可以分配一種方法控制器

不,沒有內置的方法來完成這項工作。


但是你可以做一個非常非常骯髒的黑客:將調用控制器方法之前@ModelAttribute註釋的方法將被執行。

彈簧參考:Chapter 15.3.2.8 Providing a link to data from the model with @ModelAttribute

@ModelAttribute註解的方法所選擇的 之前執行@RequestMapping註釋處理程序方法。它們實際上預先填充了具有特定屬性的隱式模型,通常從數據庫加載 。然後可以通過 所選處理程序方法中的@ModelAttribute帶註釋的處理程序方法參數來訪問此類屬性,可能會對其應用 對其應用 。

但我強烈建議不要這樣做,而是使用AOP!

0

這聽起來像你只是想應用位給定控制器內的方法的一些共同邏輯(否則使用Fil之三)。如果是這樣,爲什麼不把這個邏輯放在一個私有方法中並從所有請求映射方法中調用它?這會爲每個方法添加一行。將方面或攔截器應用於每種方法,您至少需要添加一行(例如註釋)。吻。

相關問題