English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La casella di controllo del modulo Spring MVC aiuta a selezionare più opzioni contemporaneamente. Questo tag presenta un etichetta di input HTML di tipo checkbox.
<form:checkbox path="abc" value="element"/>
Oltre al tag di casella di controllo, la libreria di etichette del modulo Spring MVC include Casella di controlloTag. Questo tag presenta più etichette di input HTML con caselle di controllo di tipo. Utilizzare questo tag solo quando non si desidera elencare tutti gli elementi nella pagina di visualizzazione. In questo caso, è possibile fornire gli elementi in tempo di esecuzione e passarli al tag. Poiché l'utente può selezionare più opzioni, è necessario passare un elemento di tipo Array, List o 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"> <!--Supporto per la scansione dei componenti--> <context:component-scan base-package="com.w3codebox" /> <!--Supporto per la conversione, formattazione e convalida--> <mvc:annotation-driven/> <!-- Definire il risolutore di vista Spring MVC --> <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>Modulo di Registrazione Ferroviaria</title> </head> <body> <a href="reservation/bookingForm">Clicca qui per la prenotazione.</a> </body> </html>
reservation-page.jsp
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <title>Modulo di Prenotazione</title> </head> <h3>Modulo di Prenotazione Ferroviaria</h3> <body> <form:form action="submitForm" modelAttribute="reservation"> Nome: <form:input path="firstName" /> <br><br> Cognome: <form:input path="lastName" /> <br><br> Genere: Maschio<form:radiobutton path="Gender" value="Maschio"/> Femmina<form:radiobutton path="Gender" value="Femmina"/> <br><br> Menù: Colazione<form:checkbox path="Food" value="Colazione"/> Pranzo<form:checkbox path="Food" value="Pranzo"/> Cena<form:checkbox path="Food" value="Cena"/> <br><br> <input type="submit" value="Invia" /> </form:form> </body> </html>
confirmation-page.jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!DOCTYPE html> <html> <body> <p>La tua prenotazione è stata confermata con successo. Per favore, ri-verifica i dettagli.</p> Nome: ${reservation.firstName} <br> Cognome: ${reservation.lastName} <br> Genere: ${reservation.gender}<br> Menù: <ul> <c:forEach var="meal" items="${reservation.food}"> <li>${meal}</li> </c:forEach> </ul> </body> </html>
Output: