前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《Spring实战》摘录 - 14

《Spring实战》摘录 - 14

作者头像
用户1335799
发布2019-05-08 17:40:14
3630
发布2019-05-08 17:40:14
举报
文章被收录于专栏:怀英的自我修炼

131

Q: #7.4-1 | 什么是控制器通知 A: 控制器通知(controller advice)是任意带有@ControllerAdvice注解的类

132

Q: #7.4-2 | 控制器通知会包含一个或多个如下类型的方法 A:

  • @ExceptionHandler注解标注的方法;
  • @InitBinder注解标注的方法;
  • @ModelAttribute注解标注的方法。

133

Q: #7.4-3 | 如何通过@ControllerAdvice,将所有控制器的异常在同一个地方进行一致处理

A: 通过@ControllerAdvice将所有的@ExceptionHandler方法收集到一个类中,代码如下:

代码语言:javascript
复制
package spittr.web;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice //定义控制器类public class AppWideExceptionHandler{    @ExceptionHandler(DuplicateSpittleException.class) //定义异常处理方法    public String duplicateSpittleHandler(){        return "errot/duplicate";    }}

134

Q: #7.5-1 | 模型的属性是以请求属性的形式存放在请求中的,在重定向后无法存活。请以图示说明 A:

135

Q: #7.5-2 | 显然在spring中,对于重定向来说,模型并不能用来传递数据。但是我们也有一些其他方案,能够从发起重定向的方法传递数据给处理重定向方法中: A:

  • 使用URL模板以路径变量和/或查询参数的形式传递数据;
  • 通过flash属性发送数据。

136

Q: #7.5-3 | 在spring中,flash属性的作用,和实现方式 A:

  • 作用:在会话(跨定向会话)中携带数据。按照定义,flash属性会一直携带这些数据直到下一次请求,然后才会消失。
  • Spring提供了通过RedirectAttributes设置flash属性的方法,这是Spring 3.1引入的Model的一个子接口。RedirectAttributes提供了Model的所有功能,除此之外,还有几个方法是用来设置flash属性的。具体来讲,RedirectAttributes提供了一组addFlashAttribute()方法来添加flash属性。

137

Q: #7.5-4 | 请举个,使用addFlashAttribute()将Spitter对象添加到模型中,的例子 A:

代码语言:javascript
复制
@RequestMapping(value="/register", method=POST)public String processRegistration(Object obj, RedirectAttributes model) {  model.addAttribute("username", obj.getUsername());  model.addFlashAttribute("obj", obj);  return "redirect:/obj/{username}";}

138

Q: #7.5.5 | flash属性保存在会话中,然后再放到模型中,因此能够在重定向的过程中存活。请图示这个过程 A:

139

Q: #7.6-1 | Spring Web Flow是什么? A: 这是一个构建在Spring MVC之上的流程框架,它能够引导用户执行一系列向导步骤

140

Q: #8.1.1-1 | 简述执行器的作用 A: 流程执行器(flow executor)驱动流程的执行

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 怀英的自我修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档