formFactory.form()不存在!PlayFramework

Kwi*_* FR 4 java playframework playframework-2.5

我有一点问题,我想创建一个Web应用程序,我学习PlayFramework与java文档

此示例代码:

public Result hello() {
    DynamicForm requestData = formFactory.form().bindFromRequest();
    String firstname = requestData.get("firstname");
    String lastname = requestData.get("lastname");
    return ok("Hello " + firstname + " " + lastname);
}
Run Code Online (Sandbox Code Playgroud)

''formFactory''不存在.

http://i.imgur.com/W941Bgz.png

为什么我没有这个领域?

当我想创建一个模型时,我没有模型类

http://i.imgur.com/9FW7wp1.png

如果你解决我的问题,非常感谢你!:)

Ste*_*ner 5

文档:

要包装一个类,你必须将一个play.data.FormFactory注入到Controller中

Play已经知道了FormFactory,所以只需为它添加一个构造函数参数:

public class FooController {

    private final FormFactory formFactory;

    @Inject
    public FooController(final FormFactory formFactory) {
        this.formFactory = formFactory;
    }

    public Result hello() {
        DynamicForm requestData = formFactory.form().bindFromRequest();
        String firstname = requestData.get("firstname");
        String lastname = requestData.get("lastname");
        return ok("Hello " + firstname + " " + lastname);
    }
}
Run Code Online (Sandbox Code Playgroud)

我猜Model你提到的是EBean.您需要为项目启用EBean,然后您将在类路径上拥有必要的类.

project/plugins.sbt:

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")
Run Code Online (Sandbox Code Playgroud)

build.sbt:

lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
Run Code Online (Sandbox Code Playgroud)

相关文档中提供了更多信息.