Spring MVC-Textfeldbeispiel

Beispiel für ein Spring MVC-Textfeld

In Spring MVC können Sie das Tag<form:input />verwenden, um ein HTML-Textfeld zu rendern. Zum Beispiel,

Es wird folgenden HTML-Code gerendert

In diesem Tutorial zeigen wir Ihnen, wie Sie das Spring-Formular-Tag "input" bisrender a HTML textbox verwenden, um die "userName" zu speichern. Fügen Sie außerdem einen leeren Überprüfungsprüfer hinzu, um sicherzustellen, dass der Textfeldwert nicht leer ist.

1. Regler

ASimpleFormController, um den Formularwert zu verarbeiten und den Formularwert mit dem Kundenobjekt zu verknüpfen.

Datei: 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. Modell

Ein Kundenobjekt zum Speichern des Textfeldwerts.

Datei: Customer.java

package com.example.customer.model;

public class Customer{

    String userName;
    //getter and setter methods
}

3. Formularvalidator

Erstellen Sie eine Formularvalidatorklasse und verwenden Sie die KlasseValidationUtils, um sicherzustellen, dass der Benutzername nicht leer ist. Andernfalls erhalten Sie die Nachricht "required.userName" aus dem entsprechenden Ressourcenpaket (Eigenschaftendatei).

Datei: 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.");

    }

}

Datei: message.properties

required.userName = username is required!

4. View

Eine JSP-Seite, auf der das Spring-Formular-Tag "input" zum Rendern eines HTML-Textfelds verwendet und einige CSS-Stile eingefügt werden, um die Fehlermeldung hervorzuheben.

Datei: CustomerForm.jsp

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






    

Spring's form textbox example

Username :

Wenn das Formular gesendet wird, rendern Sie die erfolgreiche Seite und zeigen Sie den gesendeten Textfeldwert an.

Datei: CustomerSuccess.jsp



    

Spring's form textbox example

userName : ${customer.userName}

5. Spring Bean Konfiguration

Verknüpfe alles ~



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

Greifen Sie auf die Seite zu -http://localhost:8080/SpringMVCForm/textbox.htm

SpringMVC-TextBox-Example-1

Wenn der Textfeldwert beim Absenden des Formulars leer ist, zeigen Sie die Fehlermeldung an und markieren Sie sie.

SpringMVC-TextBox-Example-2

Wenn das Formular erfolgreich gesendet wurde, zeigen Sie einfach den gesendeten Textfeldwert an.

SpringMVC-TextBox-Example-3

Quellcode herunterladen

Laden Sie es herunter -SpringMVCForm-TextBox-Example.zip (9KB)