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

Lista desplegable de formulario de Spring MVC

La lista desplegable de formulario de Spring MVC contiene una lista de elementos. Esta etiqueta genera un elemento select HTML. Permite enlazar datos al elemento seleccionado.

Sintaxis

<form:select path="name">

A continuación, se presentan otras etiquetas para seleccionar opciones.

Etiqueta de opción

Esta etiqueta genera una etiqueta de opción HTML. Cada etiqueta contiene un valor que puede seleccionar el usuario.

Sintaxis

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

Etiqueta de opción

Esta etiqueta genera una lista de etiquetas de opción HTML. Cada etiqueta contiene la lista de elementos seleccionados por el usuario.

Sintaxis

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

Ejemplo de lista desplegable de formulario de Spring MVC

1Añadir la dependencia al archivo 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;
    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;
}   
}

3de crear la clase 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)
{
      //crear un objeto de reserva 
    Reservation res=new Reservation();
      //proporcionar el objeto de reserva al modelo 
    model.addAttribute("reservation", res);
    return "reservation-page";
}
@RequestMapping("/submitForm)
public String submitForm(@ModelAttribute("reservation") Reservation res)
{
    return "confirmation-form";
}
}

4ofrecer las entradas del controlador en el archivo 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、Definir Bean en archivo xml

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">
    <!-- Proporcionar soporte para el escaneo de componentes -->
    <context:component-scan base-package="com.w3codebox" />
    <!--Proporcionar soporte para conversión, formateo y validación -->
    <mvc:annotation-driven/>
    <!-- Definir el resolver de vistas de MVC de 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、Crear la página de solicitud

index.jsp

<!DOCTYPE html>
<html>
<head>
    Formulario de Registro de Ferrocarril/title>
</head>
<body>
<a href="reservation"}/bookingForm">Haga clic aquí para la reserva.</a>
</body>
</html>

7、 crear componente de vista

reservation-page.jsp

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
    ><Formulario de Reserva</title>
</head>
<h3><Forma de Reserva de Tren</h3>
<body>
    <form:form action="submitForm" modelAttribute="reservation">
        Nombre: <form:input path="firstName" />      
        <br><br>
        Apellido: <form:input path="lastName" />
        <br><br>
        Género: 
        Masculino<form:radiobutton path="Gender" value="Masculino"/>
        Femenino<form:radiobutton path="Gender" value="Femenino"/>
        <br><br>
        Comidas:
        Desayuno<form:checkbox path="Food" value="Desayuno"/>
        Almuerzo<form:checkbox path="Food" value="Almuerzo"/>
        Cena<form:checkbox path="Food" value="Cena"/>
        <br><br>
        Partiendo 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>
        Voy a: <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 tipo="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>Su reserva se confirmó con éxito. Por favor, re-ver los detalles.</p>
Nombre: ${reservation.firstName} <br>
Apellido: ${reservation.lastName} <br>
Género: ${reservation.gender}<br>
Comidas: 
<ul>
<c:forEach var="meal" items="${reservation.food}">
<li>${meal}</li>
</c:forEach>
</ul>
Salgo de: ${reservation.cityFrom} <br>
Voy a: ${reservation.cityTo}
</body>
</html>

Salida: