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

Checkbox do formulário do Spring MVC

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.

Sintaxe

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

Sintaxe

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

Exemplo de caixa de seleção de formulário do Spring MVC

1、将依赖项添加到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、create controller class

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、fornece entradas de controladores no arquivo 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、no arquivo xml define Bean

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>

6、criar página de solicitação

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>

7、criar componentes de vista

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: