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

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

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

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