【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
在方法上使用@ModelAttribute
@ModelAttribute注解可以使用在方法或方法的参数上。
@ModelAttribute注解表明方法的目的是添加一个或多个model属性。这样的方法和@RequestMapping方法支持同样类型的参数,但是不能被直接映射给请求。在控制器中@ModelAttribute方法在@RequestMapping方法之前执行。
@ModelAttribute方法用普通必须属性填充model,比如使用国家、宠物类型或回收一个类似于代表HTML表单数据的Account的command对象来填充drop-dwon。
@ModelAttribute方法有两种模式。首先是方法添加属性并隐式的返回,其次,方法接收一个Model并向其中添加多个model属性。两种模式可以根据需要选择。
一个控制器可以有多个@ModelAttribute方法。所有这些方法都在@RequestMapping方法之前被执行。
@ModelAttribute方法还可以定义在一个@ControllerAdvice-annotated类中并作用于所有的控制器。@ControllerAdvice注解是一个组件注解,允许实现类通过classpath搜索自动加载。
@ModelAttribute注解同样可以用在@RequestMapping方法上。这种情况下@RequestMapping方法的返回值将被解释为一个model属性而不是view的名字。view名字有view名约定得出,方法相当于无返回类型。
来源:oschina
链接:https://my.oschina.net/u/866681/blog/209868