日常提交

This commit is contained in:
wu xiangkai
2022-11-30 16:50:59 +08:00
parent cb3ef91737
commit bd3884c617

View File

@@ -325,6 +325,39 @@ public String update(@Valid AccountForm form, BindingResult result,
// ...
}
```
#### @SessionAttributes
@SessionAttributes注解用于将model attribute存储在http session中从而在不同的请求间都可以访问该attribute。
@SessionAttributes为class-level的注解注解的value应该列出model attribute name或model attribute的类型。
该注解使用如下所示:
```java
@Controller
@SessionAttributes("pet")
public class EditPetForm {
// ...
@PostMapping("/pets/{id}")
public String handle(Pet pet, BindingResult errors, SessionStatus status) {
if (errors.hasErrors) {
// ...
}
status.setComplete();
// ...
}
}
```
当第一个请求到来时name为pet的Model Attribute被添加到model中其会被自动提升并保存到http session中知道另一个controller method通过SessionStatus方法来清除存储。
#### @SessionAttribute
如果想要访问已经存在的Session Attribute可以在handler method的参数上添加@SessionAttribute,如下所示:
```java
@RequestMapping("/")
public String handle(@SessionAttribute User user) {
// ...
}
```
#### Multipart
在MultipartResolver被启用之后