zoukankan      html  css  js  c++  java
  • 注解 @ControllerAdvice 的 3 种用法

    1、处理全局异常

    比如,上传文件大小超出限制时,使用 @ControllerAdvice 处理这异常。

    如下:

    @ControllerAdvice // 处理全局异常的注解
    public class MyCustomException {
       @ExceptionHandler(MaxUploadSizeExceededException.class)
        public void myexception(MaxUploadSizeExceededException e, HttpServletResponse response) throws IOException {
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.write("上传大小超出限制!");
            out.flush();
            out.close();
        }
    

    2、预设全局数据

    比如:

    @ControllerAdvice
    public class GlobalData {
        @ModelAttribute
        public Map<String, Object> mydata(){
            Map<String, Object> map = new HashMap<>();
            map.put("name","you");
            map.put("address", "www.you.com");
            return map;
        }
    }
    

    3、请求参数预处理

    比如:

    @ControllerAdvice
    public class GlobalData {
        @InitBinder("a")
        public void initA(WebDataBinder binder){
            binder.setFieldDefaultPrefix("a.");
        }
    
        @InitBinder("b")
        public void initB(WebDataBinder binder){
            binder.setFieldDefaultPrefix("b.");
        }
    }
    

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    poj 1753 Flip Game
    SDIBT 2345 (3.2.1 Factorials 阶乘)
    HDU 1176 免费馅饼
    HDU 1058 Humble Numbers
    HDU 1003 MAXSUM(最大子序列和)
    HDU1864 最大报销额
    HDU 1114 Piggy-Bank(完全背包)
    POJ 3624 Charm Bracelet
    处理textarea里Enter(回车换行符)
    uniApp打卡日历
  • 原文地址:https://www.cnblogs.com/youcoding/p/13186091.html
Copyright © 2011-2022 走看看