zhouxiang
2022-04-25 8ab2ad5580212b91df848e4c127f2a682485fde3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.hx.common;
 
import com.hx.common.service.CommonService;
import com.hx.exception.ParamException;
import com.hx.exception.ServiceException;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.context.request.WebRequest;
 
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
 
/**公共初始化
 * @author ChenJiaHe
 * @Date 2020-06-11
 */
 
public class BaseController {
 
    @Resource
    protected CommonService commonService;
    /*请不要声明变量,会导致不安全,因为这个是单列*/
 
    //只需要加上下面这段即可,注意不能忘记注解
    @InitBinder
    public void initBinder(WebDataBinder binder, WebRequest request) {
        //转换日期 注意这里的转化要和传进来的字符串的格式一直 如2015-9-9 就应该为yyyy-MM-dd
        DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// CustomDateEditor为自定义日期编辑器
    }
 
    public HttpServletRequest getRequest() {
        //获取参数对象
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        return attributes.getRequest();
    }
 
    public HttpSession getSession() {
        //获取参数对象
        return getRequest() .getSession();
    }
 
    /**
     * 获取request里某个属性
     * @param attrName 属性名称
     * @return 对象
     */
    public Object getRequestAttribute(String attrName)
    {
        return getRequest().getAttribute(attrName);
    }
 
    /**
     * 设置一个request属性
     * @param attrName 属性名称
     * @param attrObject 属性值
     */
    public void setRequestAttribute(String attrName, Object attrObject) {
        getRequest().setAttribute(attrName, attrObject);
    }
 
    /**
     * 抛出服务异常
     * @param msg 错误信息
     */
    public void throwServiceException(String msg)
    {
        throw new ServiceException(msg);
    }
 
    /**
     * 抛出参数异常
     * @param msg 错误信息
     */
    public void throwParamException(String msg)
    {
        throw new ParamException(msg);
    }
 
}