Le fonctionnement des formulaires dans Play Framework 2.0

La création des pages HTML dans Play framework 2.0 utilise le langage de programmation Scala. Je viens du monde Java, il faut passer du temps pour tester et comprendre les aspects et la puissance du langage Scala. Il me manque encore du vocabulaire Scala, mais je vais essayer de vous guider dans la découverte de Play2.

J’ai passé du temps à découvrir, à comprendre le fonctionnement de Play 2, J’ai effectué de nombreuses recherches sur internet, avant de découvrir le pourquoi du comment. Je vous propose de réduire le temps d’apprentissage, de créer rapidement des écrans HTML et des formulaires et de vous concentrer sur le fonctionnel de votre site Web avec Play Framework 2.

Le fonctionnement des tags formulaires

Je vous propose de découvrir les tags qui se trouvent dans la librairie « helper », et un peu de leur fonctionnement. Nous avons des tags formulaire pour tous les types de champs formulaire HTML. Il est possible d’étendre le fonctionnement et aussi de créer ses propres tags.

@checkbox(field = myForm(« done »))

@form(action = routes.Users.submit, args = ‘class -> « myForm ») {

@inputCheckboxGroup( contactForm(« hobbies »),

options = Seq(« S » -> « Surfing », « R » -> « Running », « B » -> « Biking », »P » -> « Paddling »),

‘_label -> « Hobbies »,

‘_error -> contactForm(« hobbies »).error.map(_.withMessage(« select one or more hobbies »)))

@inputDate(field = myForm(« releaseDate »), args = ‘size -> 10)

@inputFile(field = myForm(« name »), args = ‘size -> 10)

@inputPassword(field = myForm(« password »), args = ‘size -> 10)

@inputRadioGroup( contactForm(« gender »),

options = Seq(« M »-> »Male », »F »-> »Female »),

‘_label -> « Gender »,

‘_error -> contactForm(« gender »).error.map(_.withMessage(« select gender »)))

@inputText(field = myForm(« name »), args = ‘size -> 10, ‘placeholder -> « Your name »)

@select(field = myForm(« isDone »), options = options(List(« Yes », »No »)))

@textarea(field = myForm(« address »), args = ‘rows -> 3, ‘cols -> 50)

Nous avons des tags liés à l’utilisation de Javascript

@javascriptRouter(« jsRoutes »)(

routes.javascript.Users.list,

routes.javascript.Application.index)

@requireJs(core = routes.Assets.at(« javascripts/require.js »).url, module = routes.Assets.at(« javascripts/main »).url)

Nous allons créer un petit formulaire pour comprendre le fonctionnement des tags.

@( myForm : Form[FPlage])

@import helper._
@import tags._
@import models.FPlage

@main("Home") {
    @form(action = routes.Statistiques.postaggs(), args = 'class -> "form-horizontal") {
         @inputText(field = myForm("name"), args = 'size -> 10, 'placeholder -> "Your name")
    }
}

Nous créons un lien vers les divers tags formulaire, lors de la création d’une page HTML.

@import helper._
Les tags formulaires utilisent le tag @input(field, args:_*) { (id, name, value, htmlArgs) .

Il utilise Helpers.scala
object FieldConstructor {
implicit val defaultField = FieldConstructor(views.html.helper.defaultFieldConstructor.f)

Lors de la génération du code HTML, nous avons des surprises.

Pour avoir de plus amples informations : Advanced Forms Techniques

@ bientôt

A propos Duarte TERENCIO

Chef de projet et Architecte J2EE - Portail d'entreprise - Cloud computing Vous trouverez plus d'information sur la page "Me contacter"
Cet article a été publié dans Cloud computing. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s