Предположим, у меня есть модель пользователя:
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name="user_profile_id")
private UserProfile profile;
Модель UserProfile:
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="email")
private String email;
@Column(name="firstname")
private String firstname;
@Column(name="lastname")
private String lastname;
Я могу добавить эту модель в контроллер:
@RequestMapping(value = {"/user/{id}"}, method = RequestMethod.GET)
public String showUser(ModelMap model, @PathVariable int id) {
User user = userService.findById(id);
model.addAttribute("user", user);
return "UserView";
}
Тогда можно получить доступ к модели на странице .jsp следующим образом:
<form:form method="POST" modelAttribute="user">
<form:input type="text" path="username"/>
<form:input type="password" path="password"/>
</form>
Но вопрос - как мне отредактировать модель UserProfile, которая находится в модели User наВ то же время, когда я редактирую модель пользователя, которая передается из контроллера на страницу .jsp?
Вопрос не повторяется, потому что я хотел знать, может ли «путь» обрабатывать иерархические атрибуты, а не как просто передать его.объект для просмотра.