Ich habe diese kleine Anwendung, ich möchte nur ein einfaches Formular erstellen und die Benutzereingabe speichern, aber jedes Mal, wenn ich versuche, die Anwendung auszuführen, bekomme ich eine java.lang. Nullpointer, es sagt mir der Fehler in der Index-Methode in der Controller-Klasse, wenn das Formular in definitionFormAbspielen 2.5 java.lang.NullPointerException in Form
Hier erklärt ist mein Controller
public class HomeController extends Controller {
@Inject
public static FormFactory formFactory;
public Result index() {
Form<Definition> definitionForm = formFactory.form(Definition.class);
return ok(index.render(definitionForm,"Your new application is ready."));
}
public Result submit(){
Form<Definition> definitionForm = formFactory.form(Definition.class).bindFromRequest();
Definition definition=definitionForm.get();
definition.save();
return redirect(routes.HomeController.index());
}}
das Modell
@Entity
public class Definition extends Model {
@Id
public Long id;
@Constraints.Required
public String name;
public String definition;
public String category;
public static final Model.Find<Long,Definition> find = new Model.Find<Long,Definition>(){};
}
Und hier sind die Fehler
! @6pnmighcp - Internal server error, for (GET) [/] ->
play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[CompletionException: java.lang.NullPointerException]]
at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:280)
at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:206)
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:160)
at play.api.DefaultGlobal$.onError(GlobalSettings.scala:188)
at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:98)
at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:100)
at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:99)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:344)
at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:343)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
Caused by: java.util.concurrent.CompletionException: java.lang.NullPointerException
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292)
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308)
at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:593)
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977)
at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:21)
at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:18)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at scala.concurrent.BatchingExecutor$Batch$$anonfun$run$1.processBatch$1(BatchingExecutor.scala:63)
Caused by: java.lang.NullPointerException: null
at controllers.HomeController.index(HomeController.java:27)
at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(Routes.scala:157)
at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(Routes.scala:157)
at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:157)
at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:156)
at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:136)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:73)
at play.http.HttpRequestHandler$1.call(HttpRequestHandler.java:54)
at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108)
at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108)
I
ebean.default = ["models.*"]
in meiner Anwendung conf und die Play Ebean Plugin aktiviert haben, ich bin nicht wirklich sicher, was das Problem ist.
Versuchen statisch zu entfernen, wenn FormFactory Injektion, scheint es, dass FormFactory überhaupt nicht eingespritzt wird. – Tijkijiki
Danke, das hat mein Problem gelöst. – user2308612
haben Sie jemals das Null-Zeiger-Problem mit dem 'MailerClient' gelöst, ich habe den gleichen Fehler, mit' @Inject MailerClient Mailerclient', der zu meinem Controller, nicht statische Präfix hinzugefügt wird, aber dieser Nullzeiger Fehler bleibt bestehen. p.s. 'Play 2.6.x' – KGCybeX