Exemple de zone de texte MVC Spring

Exemple de zone de texte Spring MVC

Dans Spring MVC, vous pouvez utiliser la balise<form:input /> pour afficher un champ de zone de texte HTML. Par exemple,

Il rend le code HTML suivant

Dans ce didacticiel, nous vous montrons comment utiliser la balise de formulaire de Spring «input» àrender a HTML textbox pour stocker les «userName». En outre, ajoutez un validateur de vérification vide pour vous assurer que la valeur de la zone de texte n'est pas vide.

1. Manette

UnSimpleFormController pour gérer la valeur du formulaire et lier la valeur du formulaire à l'objet Client.

Fichier: TextBoxController.java

package com.example.customer.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.example.customer.model.Customer;

public class TextBoxController extends SimpleFormController{

    public TextBoxController(){
        setCommandClass(Customer.class);
        setCommandName("customerForm");
    }

    @Override
    protected ModelAndView onSubmit(HttpServletRequest request,
        HttpServletResponse response, Object command, BindException errors)
        throws Exception {

        Customer customer = (Customer)command;
        return new ModelAndView("CustomerSuccess","customer",customer);

    }
}

2. Modèle

Un objet Client pour stocker la valeur de la zone de texte.

Fichier: Customer.java

package com.example.customer.model;

public class Customer{

    String userName;
    //getter and setter methods
}

3. Validateur de formulaire

Créez une classe de validateur de formulaire et utilisez la classeValidationUtils pour vous assurer que «userName» n'est pas vide. Sinon, récupérez le message «required.userName» du bundle de ressources correspondant (fichier de propriétés).

Fichier: CustomerValidator.java

package com.example.customer.validator;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.example.customer.model.Customer;

public class CustomerValidator implements Validator{

    @Override
    public boolean supports(Class clazz) {
        //just validate the Customer instances
        return Customer.class.isAssignableFrom(clazz);
    }

    @Override
    public void validate(Object target, Errors errors) {

        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName",
            "required.userName", "Field name is required.");

    }

}

Fichier: message.properties

required.userName = username is required!

4. View

Une page JSP pour utiliser la balise de formulaire de Spring «input» pour rendre une zone de texte HTML, et mettre des styles CSS pour mettre en évidence le message d'erreur.

Fichier: CustomerForm.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>






    

Spring's form textbox example

Username :

Si le formulaire est soumis, restituez la page réussie et affichez la valeur de la zone de texte soumise.

Fichier: CustomerSuccess.jsp



    

Spring's form textbox example

userName : ${customer.userName}

5. Configuration de Spring Bean

Liez le tout ~



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

SpringMVC-TextBox-Example-1

Si la valeur de la zone de texte est vide lors de la soumission du formulaire, affichez et mettez en surbrillance le message d'erreur.

SpringMVC-TextBox-Example-2

Si le formulaire est envoyé avec succès, affichez simplement la valeur de la zone de texte soumise.

SpringMVC-TextBox-Example-3

Télécharger le code source

Téléchargez-le -SpringMVCForm-TextBox-Example.zip (9 Ko)