[英]Play Framework 2.0 Redirects in Controller Action
我正在使用Scala的Play Framework 2.0。
所以我有一個針對帖子請求的動作。 我想對輸入數據進行一些驗證,如果輸入無效,則重定向到其他控制器操作(例如返回到prev頁面並告訴用戶輸入無效)
我的代碼看起來像這樣:
if ( input.isNotValid )
Redirect( foo )
// ... more code
Redirect( bar )
所以驗證是早期的,之后有一行代碼,並且在操作的最后我重定向到另一個頁面。
我的問題是,即使驗證失敗,頁面也不會重定向到Foo。 如果我這樣做,代碼可以工作:
if ( input.isNotValid )
Redirect( foo )
else
Redirect( bar )
我是否需要將所有重定向和Oks放在行動的最后?
我知道在Ruby on Rails中有時候會發生這種情況,並且解決方法是在每次重定向后放置“並返回”。 我在Play Framework中還有什么需要做的嗎?
重定向不會將控制權返回給調用方法 - 您的代碼將繼續執行。 重新安排您的代碼,以便無效數據的重定向是該流的最終表達式,如下所示:
if ( input.isNotValid )
Redirect( foo )
else {
// ... more code
Redirect( bar )
}
此外,這可以通過更清楚地顯示各種分支來使您的代碼更清晰。
嘗試。 '原始中返回重定向(foo)'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.