我正在使用Play 2.3(Java)框架,我想設置404頁面。 我知道GlobalSettings的onHandlerNotFound方法。Play Framework - 爲資產定義404頁面
但資產似乎有自己的處理 - 資產類不會調用我的onHandlerNotFound方法,只發送空404狀態。
我可以以某種方式攔截資產中的錯誤並設置我自己的處理?
在我看來,相當有限的是任何不存在的資產都會返回空404頁面。
感謝您的任何建議。
編輯:一些代碼 從路線:
GET /assets/*file controllers.Assets.at(path="/public", file)
從GlobalSettings:
@Override
public Promise<Result> onHandlerNotFound(RequestHeader arg0) {
return Promise.<Result>pure(Results.notFound(
errPage("notfound")));
}
感謝您的回覆,但關於鏈接會談定製控制器。 我需要攔截內置Assets類的錯誤處理。 我查看了它的源代碼,它使用了一些類型爲HttpErrorHandler的errorHandler,但由於我只理解Java而不是Scala,所以我不明白它是如何初始化的,以及它是否可能以某種方式更改。 有人能在哪裏配置? – Juraj
你可以發佈一些代碼來更好地理解你正在努力完成的任務嗎? – hamena314
我在初始文章中添加了一些代碼片段。 但要指定我想要的: 如果有人前往/ sandkja,則不會選擇路由並調用GlobalSettings.onHandlerNotFound,並顯示一些錯誤頁面。 但是,如果有人去/ assets/njdfhew,資產控制器將處理該操作,並且它有自己的錯誤處理 - 以防未發現狀態爲404的空白頁面。 我想以某種方式將errorHandler插入到資產類,以便我可以自定義錯誤消息,找不到資產目錄中的URL。 – Juraj