0
我正在開發一個網站,您可以從幾乎每個頁面登錄。登錄操作與每個頁面相同,但始終必須返回到已啓動操作的頁面。我的想法是使用相同的Spring控制器管理所有的登錄請求(使其可重用),並依賴於調用它的頁面,並轉發給它。一個彈簧控制器可重複使用到不同的視圖
我不知道是否有可能,或者是否有其他方式來完成我的要求,而不必在每個控制器上「複製」相同的操作。
我正在開發一個網站,您可以從幾乎每個頁面登錄。登錄操作與每個頁面相同,但始終必須返回到已啓動操作的頁面。我的想法是使用相同的Spring控制器管理所有的登錄請求(使其可重用),並依賴於調用它的頁面,並轉發給它。一個彈簧控制器可重複使用到不同的視圖
我不知道是否有可能,或者是否有其他方式來完成我的要求,而不必在每個控制器上「複製」相同的操作。
對於每個頁面,都會以包含返回頁面URL的方式生成登錄鏈接URL。然後,登錄控制器將知道登錄成功後重定向的位置。
例如上的mypage.html,登錄鏈接將是http://server/login.do?returnURL=MyPage.html
你的控制器將被附連到login.do並在結束重定向到returnURL
。
謝謝。那麼如果需要調用不同的控制器呢?我的意思是,因爲我要重定向到不同的頁面,並且這些頁面由不同的控制器上的數據庫調用填充,我不想在登錄控制器上覆制此功能。所以我認爲這可以通過轉發到基於returnURL的適當控制器來解決......我不知道它是否是一種優雅的方式來繼續... – user1260893 2012-03-15 10:27:14
您的登錄控制器將決定成功或失敗後重定向的位置。對於這個決定,它將使用請求中收到的參數。 'returnURL'是做這樣決定的一種參數,但是你可以傳遞你選擇的其他參數。像'returnURL'這樣的參數將由控制器生成,該控制器返回具有登錄鏈接/ URL的頁面。如果您擔心重複添加'returnURL'的代碼 - 那麼有很多方法可以解決它。例如,將它放在一些實用程序類中。 – 2012-03-15 16:48:46