2016-08-31 2 views
0


ich habe ein Problem mit @ExceptionHandler Methode in @ControllerAdvice Meine Methode wird aufgerufen, wenn Ausnahme auftritt, aber nie durch diese Methode der Rückkehr in der Website rediret. Ich war versuchen Modeland zurückzukehren, RedirectView oder String, aber es funktioniert nie richtig dies ist tatsächlich Code meine Methode:@ExceptionHandler Methode nicht zurückleiten Ansicht

public static final String REFERER_HEADER = "Referer"; 
public static final String REDIRECT = "redirect:";  

@ExceptionHandler(value = MaxUploadSizeExceededException.class) 
public RedirectView maxUploadSizeExceededExceptionHandler(MaxUploadSizeExceededException e, 
                  HttpServletRequest request,HttpServletResponse response) { 

    String sourcePage = request.getHeader(REFERER_HEADER); 
    RedirectView rw = new RedirectView(REDIRECT + sourcePage); 
    return rw; 
} 

aber wie ich sagen, dass nicht richtig umgeleitet werden. Im Browser bleiben i auf Seite, wenn Ausnahme auftreten

Antwort

0

Können Sie mit einer von ihnen versuchen ...

public static final String REFERER_HEADER = "Referer"; 
public static final String FORWARD_PREFIX = "forward:";  

@ExceptionHandler(value = MaxUploadSizeExceededException.class) 
public String maxUploadSizeExceededExceptionHandler(MaxUploadSizeExceededException e, 
                 HttpServletRequest request,HttpServletResponse response) { 

    String sourcePage = request.getHeader(REFERER_HEADER); // Assuming you have sourcePage eg : "/pageURL" 
    return FORWARD_PREFIX + sourcePage; 
} 

ODER

public static final String REFERER_HEADER = "Referer"; 

@ExceptionHandler(value = MaxUploadSizeExceededException.class) 
public ModelAndView maxUploadSizeExceededExceptionHandler(MaxUploadSizeExceededException e, 
                HttpServletRequest request,HttpServletResponse response) { 

    String sourcePage = request.getHeader(REFERER_HEADER); 
    final RedirectView rv = new RedirectView(sourcePage); 
    rv.setStatusCode(HttpStatus.MOVED_PERMANENTLY); 
    rv.setUrl(sourcePage); 
    final ModelAndView mv = new ModelAndView(rv); 
    return mv; 
} 

Aber ich bin mir nicht sicher ...

+0

funktioniert leider nicht –

Verwandte Themen