Cadre de jeu: Mélange de contrôleur Java et Scala / vues


Il y a un paramètre .enablePlugins (PlayScala) dans le construit.fichier sbt qui définit mon projet sur scala.

Maintenant, je veux également utiliser Java. J'ai trouvé qu'il existe deux versions de données.Forme (jouer.données._ et l'importation de jouer.API.données._). J'ai donc utilisé le type complet pour la liste des paramètres.

@(loginForm: play.data.Form[User_LoginForm])

@import helpers._

@helper.form(action = routes.ApplicationJava.login(), 'id -> "loginForm") {
@helper.inputText(loginForm("username"))
@helper.inputPassword(loginForm("password"))
}

Mais maintenant j'ai le même problème avec les fonctions d'aide et je ne sais pas quel est le nom complet de helper pour qu'ils fonctionnent avec play.données.Formulaire (Java).

Est existe-t-il un moyen d'utiliser les fonctions d'assistance pour Java même lorsque le projet est défini sur scala?

Modifier:

Le message d'erreur pour cette ligne >> @helper.inputText(loginForm ("username"))

type mismatch; found : play.data.Form.Field required: play.api.data.Field

Modifier:

Voici la partie correspondante de mon contrôleur Java.

public static Result showForm() {

    Form<User_LoginForm> userForm = play.data.Form.form(User_LoginForm.class);
    User_LoginForm ulf = new User_LoginForm();
    ulf.username = "abc";
    userForm = userForm.fill(ulf);

    return ok(views.html.userLoginJava.render(userForm));
}
Author: bebo, 2015-02-14

1 answers

PlayMagicForJava est censé convertir implicitement votre jeu.données.Forme.Terrain en jeu.API.données.Champ

implicit def javaFieldtoScalaField(jField: Field): Field

Conversion implicite d'un champ de formulaire Java Play en un champ de formulaire Scala approprié.

Lien vers l'api

 0
Author: Patson Luk, 2015-09-30 16:28:28