2017-01-29 9 views
2

Я пытаюсь реализовать форму Java в платформе Play. Я делаю все, как в документации, но у меня есть ошибка. https://www.playframework.com/documentation/2.5.x/JavaFormsPlay Framework 2.5 Новичок. Ошибка JavaForms

Мой код:

import play.api.data.Form; 
import play.data.FormFactory; 

public class Products extends Controller { 

@Inject FormFactory formFactory; 
Form<Product> productForm = formFactory.form(Product.class); 
... 

Ошибка:

no instance(s) of type variable(s) T exist so that play.data.Form<T> conforms to play.api.data.Form<models.Product> 

После изменения импорта библиотеки play.api.data в play.data У меня есть эта ошибка:

1) Error injecting constructor, java.lang.NullPointerException 
at controllers.Products.<init>(Products.java:18) 
while locating controllers.Products 
for parameter 2 at router.Routes.<init>(Routes.scala:32) 
while locating router.Routes 
while locating play.api.inject.RoutesProvider 
while locating play.api.routing.Router 
for parameter 0 at play.api.http.JavaCompatibleHttpRequestHandler <init>(HttpRequestHandler.scala:200) 
while locating play.api.http.JavaCompatibleHttpRequestHandler 
while locating play.api.http.HttpRequestHandler 
for parameter 4 at play.api.DefaultApplication.<init>(Application.scala:221) 
at play.api.DefaultApplication.class(Application.scala:221) 
while locating play.api.DefaultApplication 
while locating play.api.Application 

ответ

0

Вы делаете импорт play.api.data.Form, который поступает из Play jar, но FormFactory возвращает play.data.Form, а не предыдущие, поэтому вам просто нужно изменить импорт.

+0

@xzayt, PLZ Посмотрите на обновленный ответ – Mysterion

+0

У меня уже есть другая ошибка. Не могли бы вы проверить, пожалуйста, журналы выше? Строка ошибки в Products.Java находится в объявлении класса Products. –

+0

чувак, cmon это не так, как следует использовать SO – Mysterion