Java formFactory.form()不';不存在!游戏框架
我有一个小问题,我想创建一个web应用程序,并学习PlayFramework和java文档 此示例代码:Java formFactory.form()不';不存在!游戏框架,java,playframework,playframework-2.5,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");
public Result hello() {
DynamicForm requestData = formFactory.form().bindFromRequest();
String firstname = requestData.get("firstname");
String lastname = requestData.get("lastname");
return ok("Hello " + firstname + " " + lastname);
}
“formFactory”不存在
为什么我没有这个字段?当我想创建一个模型时,我没有模型类
如果你能解决我的问题,非常感谢你!:) 您必须像这样注入formFactory:
@Inject FormFactory formFactory;
从:
要包装类,必须将play.data.FormFactory注入控制器
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);
}
}
我猜你提到的模型是EBean的。您需要为您的项目启用EBean,然后在类路径上就有了必要的类
在项目/plugins.sbt
中:
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")
lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
build.sbt
:
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")
lazy val myProject = (project in file(".")).enablePlugins(PlayJava, PlayEbean)
有关详细信息,请参阅。首先确保在播放控制器中导入这两个库:
import javax.inject.inject;
导入play.data.FormFactory代码>
之后,在使用Form Builder之前,将其插入到代码中:
@Inject FormFactory formFactory;
在此之后,您的代码应该可以正常工作。如何?在哪里,有什么依赖关系?xD我很困惑看一下这里的构造函数:[link]为什么我不能按照示例中的说明去做?我的应用程序中没有play.data包谢谢你的回答,但我没有play.data包这太疯狂了oFormFactory
位于核心playjava
jar中。由于您使用的是IntelliJ,您可以通过转到项目
视图的底部,打开外部库
树节点并打开com.typesafe.play:play-java_2.11:2.5.x:jar
依赖项来轻松检查这一点。在那里,您应该可以找到FormFactory
。我没有在外部库中玩java[…]!!当我想为每个示例添加addSbtPlugin(“com.typesafe.sbt“%”sbt play ebean“%”3.0.0)时,我不能,因为我的sbt版本是0.13.5,我将在0.13.7中更新,可能是问题的原因?你是如何创建游戏项目的?如果使用activator new
并在IntelliJ中打开生成的build.sbt
,则不应出现这些问题。