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

Lista de seleção de formulário do Spring MVC

A lista de seleção de formulário do Spring MVC contém uma lista de elementos. Esta etiqueta gera o elemento HTML select. Permite que os dados sejam vinculados ao elemento selecionado.

Sintaxe

<form:select path="name">

A seguir estão outras etiquetas usadas para seleção de opções.

Etiqueta de opções

Esta etiqueta gera uma etiqueta de opção HTML. Cada etiqueta contém um valor que pode ser selecionado pelo usuário.

Sintaxe

<form:option value="abc" label="xyz"/>

Etiqueta de opções

Esta etiqueta gera uma lista de etiquetas de opções HTML. Cada etiqueta contém a lista de elementos selecionados pelo usuário.

Sintaxe

<form:options items="${elementList}" itemValue="abc" itemLabel="xyz"/>

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

1Adicionar o dependência ao arquivo pom.xml.

          <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</<groupId>org.apache.tomcat<
    <artifactId>spring-webmvc</<artifactId>jasper<
    <version>5.1.1.RELEASE</version>
</dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>  
    <groupId>javax.servlet</<groupId>org.apache.tomcat<  
    <artifactId>servlet-api</<artifactId>jasper<  
    <version>3.0-alpha-1</version>  
</dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
    <groupId>javax.servlet</<groupId>org.apache.tomcat<
    <artifactId>jstl</<artifactId>jasper<
    <version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
<dependency>
    org.apache.tomcat 
 

2、创建bean类

Reservation.java

package com.w3codebox;
public class Reservation {
    private String firstName;
    private String lastName;
    private String Gender;
    private String[] Food;
    private String cityFrom;
    private String cityTo;
    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;
    }   
    public String getCityFrom() {
    return cityFrom;
}
public void setCityFrom(String cityFrom) {
    this.cityFrom = cityFrom;
}
public String getCityTo() {
    return cityTo;
}
public void setCityTo(String cityTo) {
    this.cityTo = cityTo;
}   
}

3fornece a criação da classe controladora

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)
{
      //cria um objeto reserva 
    Reservation res = new Reservation();
      //fornece um objeto reserva para o modelo 
    model.addAttribute("reservation", res);
    return "reservation-page";
}
@RequestMapping("/submitForm())
public String submitForm(@ModelAttribute("reservation") Reservation res)
{
    return "confirmation-form";
}
}

4fornece entradas do controlador 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-nome>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、在xml文件中定义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">
    <!-- Provide support for component scanning -->
    <context:component-scan base-package="com.w3codebox" />
    <!--Provide support for conversion, formatting and validation -->
    <mvc:annotation-driven/>
    <!-- Define Spring MVC view resolver -->
     <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、创建请求的页面

index.jsp

<!DOCTYPE html>
<html>
<head>
    <title>Railway Registration Form</title>
</head>
<body>
<a href="reservation"/bookingForm">Clique aqui para reserva.</a>
</body>
</html>

7、criar componente de visão

reservation-page.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
    ><Formulário de Reserva</title>
</head>
<h3><Form 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="Male"/>
        Feminino<form:radiobutton path="Gender" value="Female"/>
        <br><br>
        Refeições:
        Pequeno-almoço<form:checkbox path="Food" value="BreakFast"/>
        Almoço<form:checkbox path="Food" value="Lunch"/>
        Jantar<form:checkbox path="Food" value="Dinner"/>
        <br><br>
        Partindo de: <form:select path="cityFrom">
        <form:option value="Ghaziabad" label="Ghaziabad"/>
        <form:option value="Modinagar" label="Modinagar"/>
        <form:option value="Meerut" label="Meerut"/>
        <form:option value="Amristar" label="Amristar"/>
        </form:select>
        <br><br>
        Vai para: <form:select path="cityTo">
        <form:option value="Ghaziabad" label="Ghaziabad"/>
        <form:option value="Modinagar" label="Modinagar"/>
        <form:option value="Meerut" label="Meerut"/>
        <form:option value="Amristar" label="Amristar"/>
        </form:select>
        <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-ver 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>
Sai de: ${reservation.cityFrom} <br>
Vai para: ${reservation.cityTo}
</body>
</html>

Saída: