私はspringmvcと角張ったアプリケーションに取り組んでいます。これまで何らかの例外が発生した場合は、エラーページに転送する必要がありますが、以下のシナリオではページにリダイレクトする代わりにエラーページに転送されませんが、ページが空白になり、ブラウザコンソールにチェックされている場合は例外です:例外が発生したときにエラーページに転送することができません
Failed to load resource: the server responded with a status of 404() :8080/undefined
ページに戻って空白ページを表示する代わりに、エラーページに転送します。 私の例外に例外ハンドラクラスがあります。ハンドラクラスが呼び出され、エラーページを処理して転送する例外が発生します。
JSコード:
myApp.controller('myController', function ($rootScope, $scope, $sce, MyService, $window) {
$scope.getData = function() {
$scope.pdfName = {};
$scope.html = '';
MyService.getMyData($scope.id1).then(
function (response) {
$scope.myResponse = response;
//check for error
if ($scope.myResponse .error) {
$rootScope.showError(500, $scope.myResponse .error);
} else {
if(window.navigator.msSaveOrOpenBlob){
$scope.IEBrowser = true;
//logic here
} else {
$scope.IEBrowser = false;
//some logic here}
}},
function (errResponse) {
alert("in error ds");
$rootScope.showError(500, errResponse);
$scope.pdfName = {};
});
}
$scope.getMyData();
});
//例外ハンドラクラス
@ControllerAdvice
public class MyExceptionControllerAdvice {
@ExceptionHandler(Exception.class)
public @ResponseBody ErrorInfoBean exception(Exception e) {
System.out.println("In ExceptionControllerAdvice!---- " +e.getMessage());
ErrorInfoBean error = new ErrorInfoBean();
error.setStatus(500);
error.setError(e.getMessage());
return error;
}
}
私の春のコントローラから任意の例外が、それは上記MyExceptionControllerAdviceクラスを打つが、エラーページを返すされていない発生しています。 上記のMyExceptionControllerAdviceで500から404に変更しようとしましたが、機能しませんでした。
のweb.xml:私は以下のように設定している :
<error-page>
<error-code>500</error-code>
<location>/views/error.jsp</location>
</error-page>
<error-page>
<exception-type>404</exception-type>
<location>/views/error.jsp</location>
</error-page>
はい、ここで私の質問は異なるものです。 404を処理する必要がある場合は、コンソールにエラーを表示し、空白のページを表示する代わりに、エラーページにリダイレクトする方法を教えてください。 – DIM