Quick Retrieve on Google     Quick Retrieve on Bing

Combine Art and Sciences

Blogs transfered from: blog.csdn.net/sonictl

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spring MVC 学习笔记9 —— 实现简单的用户管理(4.2)用户登录--显示局部异常信息

第二部分:显示局部异常信息,而不是500错误页

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>




posted on 2014-11-20 14:52  sonictl  阅读(328)  评论(0编辑  收藏  举报