您当前的位置:首页 > 职场资讯 > IT员分享

SpringMvc4.x基本配置(三):全局配置的注解

来源:今日职场 时间:2017-09-20 作者:走向架构师之路 浏览量:

SpringMvc4.x基本配置(三):全局配置的注解

原文地址:http://blog.longjiazuo.com/archives/1443

SpringMvc4.x基本配置(三):全局配置的注解

这是对springMvc4.x相关特性的一个总结和整理,会有一系列文章,欢迎大家阅读,交流,讨论。

一. 点睛

通过@ControllerAdvice。我们可以将对于控制器的全局配置放置在同一个位置,注解了@ControllerAdvice的类的方法可以使用@ExceptionHandler,@InitBinder,@ModelAttribute注解到方法上,这对所有注解了@RequestMapping的控制器内的方法有效。

@ExceptionHandler:用于全局处理控制器里面的异常。

@InitBinder:用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到Model中。

@ModelAttribute:@ModelAttribute本来的作用是绑定键值对到Model里,此处是让全局的

@RequestMapping都能获得在此处设置的键值对。

下面将使用@ExceptionHandler处理全局异常,将异常信息更加人性化的输出给用户。

二. 示例

1. 定制@ControllerAdvice

SpringMvc4.x基本配置(三):全局配置的注解

代码解释:

① @ControllerAdvice声明一个控制器建言,@ControllerAdvice组合了@Component注解,所以自动注册为Spring的Bean。

② @ExceptionHandler在此处定义全局处理,通过@ExceptionHandler的value属性可过滤拦截的条件,在此处可以看出拦截的是所有的Exception。

③ 此处使用@ModelAttribute注解将键值对添加到全局,所有注解了@RequestMapping的方法可获得此键值对。

④ 通过@InitBinder注解定制WebDataBinder。

下面演示忽略request参数的id,更多关于WebDataBinder的配置,请参考WebDataBinder的API文档。

2. 演示控制器

SpringMvc4.x基本配置(三):全局配置的注解

3. 异常展示页面

在src/main/resources/views下,新建error.jsp,内容如下:

SpringMvc4.x基本配置(三):全局配置的注解

4. 运行

访问http://localhost/springMvc4.x-advice/advice?id=1&name=xxx。调试查看DemoObj,id被过滤掉了,如下图所示:

SpringMvc4.x基本配置(三):全局配置的注解

且获得了@ModelAttribute的msg信息,如下图所示:

SpringMvc4.x基本配置(三):全局配置的注解

页面效果如下图所示:

SpringMvc4.x基本配置(三):全局配置的注解

注意点:我在测试的时候,error.jsp里面el表达式的值取不出来,拿不到后台传过来的值。后来找到原因是:web.xml的头内容版本是2.3的话默认jsp不开启el解析,需要开启解析,在error.jsp
头部增加如下配置:

分享到:
相关推荐
官方微信

Copyright C 2018 All Rights Reserved 版权所有 今日职场人力资源服务 苏ICP备12049413号-3

地址:中国山东菏 鄄城县沭阳县软件园B栋10楼 电话(Tel):400-8005-185 EMAIL:305146227@qq.com

Powered By PHPYun.

用微信扫一扫