Play 2.6 Java 양식을 사용하고 있습니다. 그것은 간단한 Widget.java 모델과 WidgetData.java 클래스를 가지고 있습니다.이 클래스는 위젯 폼에 매핑되는 DTO를 처리하는 폼입니다.Java Play 양식 제출
이 예제는 작동하지만 컨트롤러에서 어떤 일이 일어나고 있는지 더 자세히 설명해야합니다. 문제의 컨트롤러 방법은 다음과 같습니다.
public class WidgetController extends Controller {
private final Form<WidgetData> form;
private final List<Widget> widgets;
@Inject
public WidgetController(FormFactory formFactory) {
this.form = formFactory.form(WidgetData.class);
this.widgets = com.google.common.collect.Lists.newArrayList();
}
public Result createWidget() {
final Form<WidgetData> boundForm = form.bindFromRequest(); #1
WidgetData data = boundForm.get(); #2
widgets.add(new Widget(data.getName(), data.getPrice()));
return redirect(routes.WidgetController.listWidgets());
}
}
나는 혼란스러운 선들의 번호를 매겼습니다.
# 1에서 어떤 현상이 발생합니까? 두 형식이 동일하기 때문에 form에서 boundForm으로 생성되는 것은 무엇입니까? 여기에 WidgetData 설정 메소드가 설정됩니다.
그래서 WidgetData 속성이 이미 설정된 경우 # 2에서 어떤 일이 발생합니까? 속성이 설정되었지만 위젯 모델을 만들려면 실제 WidgetData 객체가 필요합니까?
버전 2.0 - 2.6 용 예제 및 문서가 서로 모순되는 것은 어렵습니다.