Рубрики
Без рубрики

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

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

В Spring MVC теги форм – <форма: выберите/> , <форма: опция/> или <форма: параметры/> , используются для отображения выпадающего списка 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 с ${списком стран}.


HTML-код

 

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

<Форма:параметры/> должны быть заключены в тег select.


    

HTML-код

 

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

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


   
   

HTML-код

 

4. Поле со списком

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


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


 

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

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

1. Модель

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

Файл: Customer.java

package com.mkyong.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 для обработки значения раскрывающегося списка формы. Сделайте навыки java " Весна ” в качестве значения по умолчанию в раскрывающемся списке.

Файл: DropDownBoxController.java

package com.mkyong.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.mkyong.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. Валидатор

Простой валидатор формы, чтобы убедиться, что выбраны раскрывающиеся поля ” страна ” и ” Навыки java “.

Файл: DropDownBoxValidator.java

package com.mkyong.customer.validator;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import com.mkyong.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");
	   }
	}
}

Файл: сообщение.свойства

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

4. Смотреть

Страница JSP, чтобы показать использование тега формы Spring <форма: выберите/> , <форма: опция/> и <форма: параметры/> .

Файл: CustomerForm.jsp

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






	

Spring's form select, option, options example

Country :
Java Skills :

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

Файл: Успех клиента.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. Конфигурация пружинных Бобов

Свяжите все это~



  

	
		
		

		
		
			
		
	

	
	
		
	

	
		
			/WEB-INF/pages/
		
		
			.jsp
		
	

6. Демонстрация

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

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

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

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

Оригинал: “https://mkyong.com/spring-mvc/spring-mvc-dropdown-box-example/”