Spring MVC 学习笔记9 —— 实现简单的用户管理(4.2)用户登录--显示局部异常信息
1. 写一个方法,把UserException传进来。
2. 映射方式:@ExceptionHandler (), 括号里value是UserException.class
3. 传参进入UserException方法:(UserException ue, HttpServletRequest req)
-----//1.把 UserException传进来;
-----//2.不能用model来传值,因为不是RequestMapping,用HttpSeverletRequest req
4. 把异常对象存入HttpSeverletRequest req的e参数: req.setAttribute("e",ue);
5. 返回视图error: return error;
----实现代码-----
UserController.java中加入:
/* * 显示局部的异常信息:仅仅只能处理这个控制器中的异常 * 写一个方法,HandlerException, 把 UserException传进来 */ @ExceptionHandler(value={UserException.class}) //用ExceptionHandler来映射,要处理的value是一个数组 //要处理一个对象就这样写,可处理多个对象。 public String handlerException(UserException ue, HttpServletRequest req){ //1.把 UserException传进来; //2.不能用model来传值,因为不是RequestMapping,用HttpSeverletRequest req //把异常对象ue存进去: req.setAttribute("e", ue); //req 的 “e”参数,被set为 uexception return "error"; }
/WEB-INF/error.jsp中代码:${e.message} 调取message信息:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Error page</title> </head> <body> <h1> ${e.message} </h1> </body> </html>