當在控制器的方法我需要從(我使用的用戶權限和每網頁的用戶定製經常的ID)會話檢索某些數據,我寫方法是這樣的:如何避免把HttpSession放在Spring控制器的每個方法中?
@RequestMapping("something")
public ModelAndView doSomething(HttpSession session) throws AuthorizationException{
PerUserModelBean bean = getSessionRelatedInfo(session);
bean.checkPermissions();
...do my stuff...
}
這是無聊的,因爲我必須重複每個方法的會話參數,我必須把這些代碼放在每個方法的開始。不僅無聊,如果我想改變,我必須通過所有方法並改變它。我希望會話信息retriavial和checkPermissions方法在我的方法之前自動調用,然後具有根據會話內容自動填充的bean變量(可能作爲threadlocal?)。有什麼辦法可以做到這一點?
你是正確的基地控制器。我不知道RequestContextHolder ....謝謝。 – gotch4 2012-01-18 14:21:35