我試圖覆蓋處理錯誤在播放框架2.1.1的默認行爲,但我有404s的問題,基本上我重寫的onHandlerNotFound似乎不是被稱爲。當我訪問不存在的頁面時,會返回空白頁面。有誰知道我做錯了什麼?我的Global.java低於覆蓋onHandlerNotFound沒有在Global.java中調用
import play.GlobalSettings;
import play.mvc.Http.RequestHeader;
import play.mvc.Result;
import play.mvc.Results;
import views.html.error;
public class Global extends GlobalSettings {
@Override
public Result onHandlerNotFound(RequestHeader request) {
return Results.notFound(error.render());
}
@Override
public Result onError(RequestHeader request, Throwable t) {
return Results.internalServerError(error.render());
}
}
順便說一下,onError覆蓋工作正常。 謝謝
對於與路由文件中的任何規則不匹配的請求,將調用Global.onHandlerNotFound()方法。那麼,通過刪除您告訴Play通過默認資產控制器處理任何請求(與先前路由不匹配)的路由中的「資產/」部分。因此,您對404期望的請求實際上是通過資產控制器進行的,顯然,如果它沒有找到靜態資產,它就會返回一個沒有內容的404。 – estmatic
瞭解,謝謝。 –