我正在检查Play!框架,使用Java(不想同时学习新的框架和新的语言-我将在学习过程中结合使用Scala),到目前为止,它还是很棒的。
我在表格方面有些困难。我仍然停留在第一部分here上,据我了解,我某种程度上需要获取FormFactory
或相关内容的实例,但是我不知道它可能位于哪个包中,或者是否知道formFactory
也是另一种魔术方法(如ok
)。
任何指针将不胜感激!
编辑这是我的代码:
package controllers;
import com.google.inject.Inject;
import play.data.FormFactory;
import play.api.data.Form;
import play.mvc.*;
public class User extends Controller {
@Inject
FormFactory form;
final static Form<model.User> userForm = form(model.User.class);
public Result post() {
model.User user = userForm.bindFromRequest().get();
return ok("The form was received!: " + user);
}
}
play.data
软件包对我而言不存在。也许我安装不正确?需要明确的是,我确实是从IntelliJ开始这个项目的 最佳答案
一个问题是您的表单不应是静态的,因为在注入FormFactory
之前无法对其进行初始化。
根据文档,此调用
Form<model.User> userForm = form(model.User.class);
应该
Form<model.User> userForm = form.form(model.User.class)
因为
form
是FormFactory
的方法。如果包在类路径中丢失,则说明某些配置问题或播放版本错误。通常可以通过激活器获得一个工作项目。