English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Casella di controllo del modulo Spring MVC

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.

Sintassi

<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.

Sintassi

<form:checkboxes path="abc" items="${object.elementList}"/>

Esempio di casella di controllo del modulo Spring MVC

1、Aggiungi le dipendenze al file pom.xml.

          <!-- 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>

2、创建bean类

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;
    }       
}

3、创建控制器类

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";
}
}

4、在web.xml文件中提供控制器的条目

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>

5、Definire Bean nell'XML file

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>

6、Creare la pagina della richiesta

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>

7、Creare il componente di vista

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: