в моем методе Я скажу, что объект UserDetails, который имеет определенное значение, например id, телефон и т. Д. Пользователь меняет только одно значение через форму, это электронная почта. Является способом, каким образом я мог бы использовать методКак связать данные с запросом в существующий объект? Несколько этапов формы
userDetailsForm.bindFromRequest(new String[]{"email"}).get()
не «потерять» предыдущие значения? В приведенном выше примере дайте мне новый объект userDetail с определенным полем электронной почты. Конечно, я знаю, что я могу использовать класс DynamicForm, или просто
userDetailsForm.bindFromRequest().get().getEmail()
, но было бы полезно иметь метод, который делает все это связывание в одной строке.
========= EDIT
DynamicForm dynamicForm = Form.form().bindFromRequest();
String email = dynamicForm.get("email");
это не то, что я ищу.
========= РЕДАКТИРОВАНИЕ =================================== ===
Другими словами, я хочу разделить мою форму на 3 шага, но после каждого шага я делаю обновление в БД. Так, например, когда я отправляю step2 У меня есть объект со значениями из предыдущего шага:
User [userId=8, createdById=12, name=null, active=false, country=EN]
так теперь, когда я делаю:
static Form<User> userForm = Form.form(User.class);
User user = User.find(8);
User user2 = (User) userForm.fill(user).bindFromRequest("name").get();
Я адресность нового объекта с пустыми полями:
User [userId=0, createdById=0, name="value from step 2", active=false, country=null]
Я буду очень полезен для любых советов.
Ваше решение такое же, как при использовании DynamicForm. 'DynamicForm dynamicForm = Form.form(). BindFromRequest(); String email = dynamicForm.get («email»); ' – Adam
@Adam Если я правильно понимаю ваш вопрос, вы хотите манипулировать свойством электронной почты в своем контроллере после его получения из предоставленного клиентом объекта UserDetail. Исправьте меня, если я ошибаюсь. – Sivakumar
Вызовы, такие как bind(), bindFromRequest() или fill(), возвращают новый объект, заполненный новыми данными. Но мне просто нужно добавить дату от запроса к моему объекту. Это только вопрос строки кодов, потому что я могу сделать это с помощью dynamicForm, когда у меня будет 50 полей, это может раздражать. – Adam