Пример текстового поля Spring MVC

Пример текстового поля Spring MVC

В Spring MVC вы можете использовать тег<form:input /> для отображения поля текстового поля HTML. Например,

Это будет отображать следующий HTML-код

В этом руководстве мы покажем вам, как использовать тег формы Spring от «input» доrender a HTML textbox для хранения «userName». Кроме того, добавьте пустой валидатор проверки, чтобы убедиться, что значение текстового поля не пустое.

1. контроллер

SimpleFormController для обработки значения формы и связывания значения формы с объектом Customer.

Файл: 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. модель

Объект Customer для хранения значения текстового поля.

Файл: Customer.java

package com.example.customer.model;

public class Customer{

    String userName;
    //getter and setter methods
}

3. Форма валидатора

Создайте класс валидатора формы и используйте классValidationUtils, чтобы убедиться, что «userName» не пусто. В противном случае получите сообщение «required.userName» из соответствующего пакета ресурсов (файла свойств).

Файл: 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.");

    }

}

Файл: message.properties

required.userName = username is required!

4. View

Страница JSP для использования тега формы Spring «input» для визуализации текстового поля HTML и помещения некоторых стилей CSS для выделения сообщения об ошибке.

Файл: CustomerForm.jsp

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






    

Spring's form textbox example

Username :

Если форма отправлена, отобразите успешную страницу и отобразите значение отправленного текстового поля.

Файл: CustomerSuccess.jsp



    

Spring's form textbox example

userName : ${customer.userName}

5. Конфигурация Spring Bean

Связать все это ~



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

Доступ к странице -http://localhost:8080/SpringMVCForm/textbox.htm

SpringMVC-TextBox-Example-1

Если при отправке формы значение текстового поля пустое, отобразите и выделите сообщение об ошибке.

SpringMVC-TextBox-Example-2

Если форма отправлена ​​успешно, просто отобразите значение отправленного текстового поля.

SpringMVC-TextBox-Example-3

Скачать исходный код

Скачать -SpringMVCForm-TextBox-Example.zip (9KB)