Les balises de formulaire fournies avec Spring MVC sont relativement simples et doivent souvent être complétées à l'aide d'EL et de JSTL.
Voici une fonction de page de soumission de formulaire relativement simple:
1. Modèle d'utilisateur
package com.my.controller.bean; import java.util.date; import java.util.list; import javax.validation.constraints.future; import javax.validation.constraints.max; import javax.validation.notnullt.Min; import javax.validation.constraints.notnull; import org.hibernate.validator.constraints.email; import org.hibernate.validator.constraints.length; import org.hibernate.validator.constraints.notempty; classe publique user {private long id; @Length (min = 2, max = 50, message = "Nom d'utilisateur Longueur Range = 2-50") Nom de la chaîne privée; @Future (message = "le temps ne peut pas être inférieur à aujourd'hui") Date privée CreateTime; @Notempty (message = "Client ne peut pas être vide") Liste privée <Sivest> Clients; @Notnull (message = "fille ne peut pas être vide") fille booléenne privée; chaîne privée [] CBX; @Notnull (message = "Age ne peut pas être nul") @min (valeur = 18, message = "minimum 18 ans") @max (valeur = 100, message = "maximum 100 ans") private int Âge; @Email (message = "Le format de messagerie est incorrect") Email de chaîne privé; public long getID () {return id; } public void setid (long id) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public Date getcreatetime () {return CreateTime; } public void setCreateTime (date CreateTime) {this.createtime = CreateTime; } public List <Simité> getCustomers () {return Clients; } public void setCustomers (list <sirt client> clients) {this.Customers = clients; } public boolean isgirl () {return girl; } public void setgirl (booléen girl) {this.girl = girl; } public String [] getCbx () {return cbx; } public void setcbx (string [] cbx) {this.cbx = cbx; } public int getage () {return âge; } public void Setage (int Age) {this.age = age; } public String getEmail () {return e-mail; } public void setEmail (chaîne e-mail) {this.email = e-mail; }} 2. Contrôleur
package com.my.controller; importer java.util.arraylist; import java.util.date; import java.util.list; import javax.validation.valid; import org.springframework.sterreotyp org.springframework.validation.fieldror; import org.springframework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.anquestmapp org.springframework.web.servlet.modelandView; import com.my.controller.bean.Customer; import com.my.controller.bean.user; @ contrôleur @ requestmapping (value = "/ post") Public ClassPostController {private static list <user> users = new ArrayList <user> (); {// --------------------------------------- User user = users.get (0); user.setid (1); user.setName ("Robin"); user.setCreateTime (new Date ()); user.setGirl (true); user.setcbx (new String [] {"1", "2", "3"}); user.setage (18); user.setemail ("[email protected]"); user.setCustomesrs (new ArrayList <Simité> ()); Client client1 = nouveau client (); Customer1.setid (1); Customer1.SetCompany ("Company - 1"); Customer1.setCreateTime (new Date ()); Customer1.SetUser (utilisateur); user.getCustomers (). Add (Customer1); Client client2 = nouveau client (); Customer2.SetId (1); Customer2.SetCompany ("Company - 2"); Customer2.SetCreateTime (new Date ()); Customer2.SetUser (utilisateur); user.getCustomers (). Add (client2); } @RequestMapping public ModelandView index () {ModelAndView View = new ModelAndView ("TestPost / index"); View.AddObject ("Users", Users); View de retour; } @RequestMapping (value = "/ addUser", méthode = requestMethod.Post) public ModelAndView addUser (@ModeLatTribute @valid utilisateur, Result BindingResult) {ModelandView View = new ModelAndView ("redirect: / post"); if (result.haserrors ()) {list <fieldorror> errors = result.getFielDerrors (); pour (Fielderror err: erreurs) {System.out.println ("ObjectName:" + err.getObjectName () + "/ tfieldName:" + err.getfield () + "/ tfieldValue:" + err.getRejectEdValue () + "/ tMessage:" + err.getDefaultMessage ()); } View.AddObject ("Users", Users); vue de retour; } user.setid (users.size () + 1); user.getCustomers (). get (0) .setid (1); user.getCustomers (). get (0) .SetUser (utilisateur); users.add (utilisateur); View.AddObject ("Users", Users); vue de retour; }} 3. Voir
<% @ Page Language = "Java" ContentType = "Text / Html; charSet = UTF-8" Pageencoding = "UTF-8"%> <% @ Page Import = "com.my.Controller.Bean. *"%> <% @ Taglib uri = "http://java.sun.com/jsp/jstl/Core" préfix = "C" C "C" C "C" C " taglib uri = "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt"%> <% @ taglib uri = "http://java.sun.com/jsp/jstl/fonctions" préfix = "fn"%> <% @ taglib prefix = "ST" uri = "http://www.springframework.org/tags"%> <% @ taglib uri = "http://www.springframework.org/tags/form" Prefix = "sf"%> <! doctype html public "- // w3c // dtd html 4.01 transition // en en" "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" contenu-type "contenu =" Text / html; charset = utf-8 "> <itle> index </itle> </-head> <pody> <fmt: setLocale value =" zh_c "/ <formulaire> Action = "<st: url value =" / post / addUser "> </ st: url>" méthode = "post"> <c: foreach items = "$ {users}" var = "user"> user: $ {user.name} <br/> Créer du temps: <fmt: formatdate value = "$ {user.createtime}" /> <br/> est girl: <c: when.createtime} "/> <br/> est girl: <c: when test = "$ {user.girl}"> oui </ c: quand> <c: when test = "$ {! user.girl}"> non </ c: when> <c: sinon> n / a </ c: sinon> </ c: choisissez> <br/> cocher les case: <c: foreach = "$ {user.cbx}" var = "item"> $ { Âge: $ {user.age} <br/> e-mail: $ {user.email} <br/> <hr /> <s table> <thead> <trysty = "text-align: Left; Color en arrière-plan: #eee; "> <th> Nom de l'entreprise </th> <th> utilisateur </th> <th> Créer du temps </th> </tr> </thead> <tbody> <c: ForEach Items =" $ {user.Custères} "var =" Item "> <tr> <td> $ {item.company} </td> <td> <td> <fmt: formatdate value = "$ {item.createtime}" pattern = "yyyy-mm-dd" /> </ td> </td> </ c: foreach> </ tbody> </ table> <hr /> </c: foreach> Nom d'utilisateur: <introut type = "text" name = "name" id = "name" /> <brd/e) name = "girl" id = "isgirl" value = "true" checked = "checked" /> <label for = "isgirl"> oui </ labe> <input type = "radio" name = "girl" id = "nogirl" value = "false" /> <label for = "nogirl"> non </ labx "id =" cbboxs: <entrée = "checkbox" name = "cbx" id = "cbx1" /> <étiquette pour = "cbx1"> 1 </ label> <input type = "checkbox" name = "cbx" id = "cbx2" value = "2" /> <label for = "cbx2"> 2 </ labe> <input type = "checkbox" name = "cbx" id = "cbx3" value = "3" /> <étiquette pour = "CBX3"> 3 </ étiquette> <Age: <étiquette pour = "CBX3"> 3 type = "text" name = "age" id = "age" /> <br/> e-mail: <entrée type = "text" name = "e-mail" id = "e-mail" /> <br/> Créer du temps: <entrée type = "text" name = "CreateTime" id = "CreateTime" /> <br/> Company: <entrée type = "Text". <input type = "soumi" value = "add" /> <sf: errors path = "*"> </ sf: errers> </ form> <hr // </ body> </html>4. Résultats des tests
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.