@modelAttribute
moelAttribute 是springmvc提供的注解。
1.运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用;
2.运用在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中;
运用在方法上
实现案例,抽取request 和response、modelMap将其注入在baseController中。
beseController1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19import lombok.Data;
import org.springframework.web.bind.annotation.ModelAttribute;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BaseController {
protected HttpServletRequest request;
protected HttpServletResponse response;
public void initParams(HttpServletResponse response,HttpServletRequest request){
this.request = request;
this.response = response;
}
}
基础controller
1 | import com.healthengine.medpro.common.controller.BaseController; |
注意:其中的response是多例线程不安全的,如果想要时其线程安全可以使用ThreadLocal