English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O checkbox do formulário do Spring MVC ajuda a selecionar múltiplas opções ao mesmo tempo. Este marcador apresenta o tipo de entrada HTML de checkbox.
<form:checkbox path="abc" value="element">/>
Além da etiqueta de caixa de seleção, a biblioteca de etiquetas de formulário do Spring MVC também contém Caixa de seleçãoA tag. Esta tag apresenta várias etiquetas de entrada HTML com caixas de seleção de tipo. Utilize esta marca apenas quando não desejar listar todos os elementos da página de visualização. Neste caso, você pode fornecer elementos em tempo de execução e passar para a etiqueta. Como o usuário pode selecionar várias opções, é necessário passar um elemento do tipo Array, List ou Map.
<form:checkboxes path="abc" items="${object.elementList}"/>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.1.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>9.0.12</version> </dependency>
Reservation.java
package com.w3codebox; public class Reservation { private String firstName; private String lastName; private String Gender; private String[] Food; public Reservation() {'}} } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() {}} return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getGender() { return Gender; } public void setGender(String gender) { Gender = gender; } public String[] getFood() { return Food; } public void setFood(String[] food) { Food = food; } }
ReservationController.java
package com.w3codebox; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping("/reservation") @Controller public class ReservationController { @RequestMapping("/bookingForm()) public String bookingForm(Model model) {'}} //create a reservation object Reservation res = new Reservation(); //provide reservation object to the model model.addAttribute("reservation", res); return "reservation-page"; } @RequestMapping("/submitForm()) public String submitForm(@ModelAttribute("reservation") Reservation res) {'}} return "confirmation-form"; } }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
spring-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- Fornece suporte para escaneamento de componentes --> <context:component-scan base-package="com.w3codebox" /> <!--Fornece suporte para conversão, formatação e validação --> <mvc:annotation}}-driven/> <!-- Definir resolver de vista MVC do Spring --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
index.jsp
<!DOCTYPE html> <html> <head> <title>Formulário de Registro de trem</title> </head> <body> <a href="reservation/bookingForm">Clique aqui para reserva.</a> </body> </html>
reservation-page.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <title>Formulário de Reserva</title> </head> <h3>Formulário de Reserva de trem</h3> <body> <form:form action="submitForm" modelAttribute="reservation"> Nome: <form:input path="firstName" /> <br><br> Sobrenome: <form:input path="lastName" /> <br><br> Gênero: Masculino<form:radiobutton path="Gender" value="Masculino"/> Feminino<form:radiobutton path="Gender" value="Feminino"/> <br><br> Refeições: Café da Manhã<form:checkbox path="Food" value="Café da Manhã"/> Almoço<form:checkbox path="Food" value="Almoço"/> Jantar<form:checkbox path="Food" value="Dinner"}/> <br><br> <input type="submit" value="Enviar" /> </form:form> </body> </html>
confirmation-page.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <body> <p>Sua reserva foi confirmada com sucesso. Por favor, re-Verifique os detalhes.</p> Nome: ${reservation.firstName} <br> Sobrenome: ${reservation.lastName} <br> Gênero: ${reservation.gender}<br> Refeições: <ul> <c:forEach var="meal" items="${reservation.food}"> <li>${meal}</li> </c:forEach> </ul> </body> </html>
Saída: