PlayFramework 中 "new Form(A.class)" 和 "form(A.class)" 的区别?
The difference between "new Form(A.class)" and "form(A.class)" in PlayFramework?
我正在使用 PlayFramework 2.2.1,我对 new Form(A.class)
和 form(A.class)
之间的区别有疑问。
在 PlayFramework 中,如果要在应用程序中使用这些值,则必须从网页中的特定表单中选取值。通常我使用 Form
实例和 bindFromRequest
方法,如下所示:
Form<OneForm> f = new Form(OneFrom.class).bindFromRequest();
但是我在某指导书上也看到了这段代码:
Form<OneForm> f = form(OneForm.class).bindFromRequest();
它们之间有什么区别吗?如果你有什么想法,请教我。
没有区别。两者都创建了 Form
的实例,它包装了 OneForm.class
(查看 source):
public static <T> Form<T> form(Class<T> clazz) {
return new Form<T>(clazz);
}
....
所以它只是一个 convenience/wrapper 方法。另一方面,form(..)
方法在更高版本的游戏(特别是 2.5)中是 deprecated。因此,如果您计划在未来将框架升级到最新版本,那么最好坚持使用第一个版本。
我正在使用 PlayFramework 2.2.1,我对 new Form(A.class)
和 form(A.class)
之间的区别有疑问。
在 PlayFramework 中,如果要在应用程序中使用这些值,则必须从网页中的特定表单中选取值。通常我使用 Form
实例和 bindFromRequest
方法,如下所示:
Form<OneForm> f = new Form(OneFrom.class).bindFromRequest();
但是我在某指导书上也看到了这段代码:
Form<OneForm> f = form(OneForm.class).bindFromRequest();
它们之间有什么区别吗?如果你有什么想法,请教我。
没有区别。两者都创建了 Form
的实例,它包装了 OneForm.class
(查看 source):
public static <T> Form<T> form(Class<T> clazz) {
return new Form<T>(clazz);
}
....
所以它只是一个 convenience/wrapper 方法。另一方面,form(..)
方法在更高版本的游戏(特别是 2.5)中是 deprecated。因此,如果您计划在未来将框架升级到最新版本,那么最好坚持使用第一个版本。