私はSpring 2.5を使用しています.次のことをしたい: spring UserDetailsService のオーバーライドされたloadUserByUsernameメソッドで、カスタム例外をスローし、その例外でログインページにカスタムエラーメッセージを表示したい. このカスタム例外を処理する方法を誰かが提案できますか?
1 に答える
1
AbstractHandlerExceptionResolver を拡張して、このクラスで例外を処理できます。コードは完全ではありませんが、その部分からアイデアを理解できます。
public class ExceptionResolver extends AbstractHandlerExceptionResolver {
@Override
protected ModelAndView doResolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
ModelAndView mav;
if(ex instanceof YourException){
mav = loginController.showLoginPage();
mav.addObject("errorMessage","Some error message text.");
\\also you can change response code here or add some logic
}
else {
\\some another page
}
return mav;
}
また、これを applicationContext.xml (または、Spring コンテキスト構成を含む別のファイル) に追加します。
<bean class="com.mycompany.ExceptionResolver" />
于 2013-06-28T10:23:41.170 に答える