Пример выпадающего списка Spring MVC

Пример выпадающего списка Spring MVC

В Spring MVC теги формы -<form:select />,<form:option /> или<form:options />, используются для отображения раскрывающегося списка HTML. Смотрите следующие примеры:

//SimpleFormController
protected Map referenceData(HttpServletRequest request) throws Exception {
    Map referenceData = new HashMap();
    Map country = new LinkedHashMap();
    country.put("US", "United Stated");
    country.put("CHINA", "China");
    country.put("SG", "Singapore");
    country.put("MY", "Malaysia");
    referenceData.put("countryList", country);
}

1. <форма: выбрать />

Создайте окно Dropbox с $ {countryList}.

HTML код

2. <форма: параметры />

должен быть заключен в тег select.


    

HTML код

3. <форма: опция />

<form:option /> также должны быть заключены в тег select и отображать единственный вариант выбора, см. Следующую комбинацию.


   
   

HTML код

4. Список

Чтобы отобразить список, просто добавьте атрибут «multiple=true» в тег выбора.

HTML code со скрытым значением для обработки выбора страны.


Select a dropdown box value
Для раскрывающегося списка, списка или параметров «выбрать», если «path» или «property» равно «select option key value “, параметры будут выбраны автоматически.

Пример полного раскрывающегося списка

Давайте рассмотрим полный пример выпадающего списка Spring MVC:

1. модель

Класс модели клиента для хранения значения раскрывающегося списка.

Файл: Customer.java

package com.example.customer.model;

public class Customer{

    String country;
    String javaSkills;

    public String getCountry() {
        return country;
    }
    public void setCountry(String country) {
        this.country = country;
    }
    public String getJavaSkills() {
        return javaSkills;
    }
    public void setJavaSkills(String javaSkills) {
        this.javaSkills = javaSkills;
    }
}

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

SimpleFormController для обработки значения раскрывающегося списка формы. Сделайте "Spring" навыков Java в качестве значения для раскрывающегося списка по умолчанию.

Файл: DropDownBoxController.java

package com.example.customer.controller;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
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 DropDownBoxController extends SimpleFormController{

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

    @Override
    protected Object formBackingObject(HttpServletRequest request)
        throws Exception {

        Customer cust = new Customer();

        //make "Spring" as the default java skills selection
        cust.setJavaSkills("Spring");

        return cust;

    }

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

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

    }

    protected Map referenceData(HttpServletRequest request) throws Exception {

        Map referenceData = new HashMap();

        Map country = new LinkedHashMap();
        country.put("US", "United Stated");
        country.put("CHINA", "China");
        country.put("SG", "Singapore");
        country.put("MY", "Malaysia");
        referenceData.put("countryList", country);

        Map javaSkill = new LinkedHashMap();
        javaSkill.put("Hibernate", "Hibernate");
        javaSkill.put("Spring", "Spring");
        javaSkill.put("Apache Wicket", "Apache Wicket");
        javaSkill.put("Struts", "Struts");
        referenceData.put("javaSkillsList", javaSkill);

        return referenceData;
    }
}

3. Validator

Простой валидатор формы, чтобы убедиться, что выбраны раскрывающиеся поля «country» и «javaSkills».

Файл: DropDownBoxValidator.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 DropDownBoxValidator 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) {

       Customer cust = (Customer)target;

       ValidationUtils.rejectIfEmptyOrWhitespace(errors, "javaSkills", "required.javaSkills");

       if("NONE".equals(cust.getCountry())){
        errors.rejectValue("country", "required.country");
       }
    }
}

Файл: message.properties

required.country = Please select a country!
required.javaSkills = Please select a java Skill!

4. View

Страница JSP, показывающая использование тегов формы Spring<form:select />,<form:option /> и<form:options />.

Файл: CustomerForm.jsp

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






    

Spring's form select, option, options example

Country :
Java Skills :

Используйте JSTL для отображения отправленного значения.

Файл: CustomerSuccess.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



    

Spring's form select, option, options example

Country : ${customer.country}
Java Skills : ${customer.javaSkills}

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

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



  

    
        
        

        
        
            
        
    

    
    
        
    

    
        
            /WEB-INF/pages/
        
        
            .jsp
        
    

6. Demo

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

SpringMVC-DropDownBox-Example-1

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

SpringMVC-DropDownBox-Example-2

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

SpringMVC-DropDownBox-Example-3

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

Скачать -SpringMVCForm-DropDownBox-Example.zip (10 КБ)

Related