package org.springframework.web.bind.annotation; import ... @Target({ElementType.PARAMETER, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface ModelAttribute { @AliasFor("name") String value() default ""; @AliasFor("value") String name() default ""; boolean binding() default true; }
@ModelAttribute
어노테이션파라미터와 메소드에 붙을 수 있는 어노테이션이다.
정의될 수 있는 필드는 총 세가지이며
name
과 value
는 서로 Alias관계이다. bind 하고자 하는 attribute의 이름속성이다. 기본값으로 바인드하고자 하는 객체의 non-qualified class name을 가진다.mypackage.OrderAddress -> orderAddress List<mypackage.OrderAddress> -> orderAddressList
bind
플래그는 바인딩 여부를 나타낸다. (default - true
)