Primavera – Cuadro de lista MVC

Marco Spring Web MVC para demostrar cómo utilizar Listbox en formularios. Comencemos configurando un IDE de Eclipse y luego sigamos los pasos para crear una aplicación web basada en formularios dinámicos utilizando Spring Web Framework.

Spring -MVC Framework

Los elementos se enumeran en el cuadro de lista del formulario Spring MVC. Esta etiqueta crea un elemento de selección en HTML. Le permite vincular datos al elemento que ha elegido.

Sintaxis:

<form:select path="name">  

Aquí hay algunas etiquetas más que se pueden usar para reducir las selecciones.

A. Etiqueta de opción: esta etiqueta genera la etiqueta de opción HTML. Cada etiqueta tiene un valor que el usuario puede elegir.

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

B. Etiqueta de opciones: esta etiqueta genera una lista de etiquetas de opciones HTML. Cada etiqueta tiene una lista de componentes que el usuario ha elegido.

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

Spring MVC – Cuadro de lista

La estructura del proyecto es la siguiente:

Implementación:

Paso 1: agregue dependencias al archivo pom.xml.

Archivo: pom.xml

XML

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.geeksforgeeks</groupId>
  <artifactId>SpringMVC</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>SpringMVC Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
      
    <!-- 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/org.apache.tomcat/tomcat-jasper -->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper</artifactId>
    <version>9.0.12</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>
  
  </dependencies>
  <build>
    <finalName>SpringMVC</finalName>
  </build>
</project>

Paso 2: Crear la clase de bean

Archivo: Reserva.java

Java

// Java Program to Illustrate Reservation Class
  
package com.geeksforgeeks;
  
// Class
public class Reservation {
    // Class data members
    private String firstName;
    private String lastName;
    private String Gender;
    private String[] Food;
    private String cityFrom;
    private String cityTo;
  
    // Constructor
    public Reservation() {}
  
    // Getters and Setters
    public String getFirstName() { return firstName; }
    public void setFirstName(String firstName)
    {
        // this keyword refers to current instance itself
        this.firstName = firstName;
    }
  
    // Getters and Setters
    public String getLastName() { return lastName; }
    public void setLastName(String lastName)
    {
        this.lastName = lastName;
    }
  
    // Getters and Setters
    public String getGender() { return Gender; }
    public void setGender(String gender)
    {
        Gender = gender;
    }
  
    // Getters and Setters
    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;
    }
  
    // Getters and Setters
    public String getCityTo() { return cityTo; }
    public void setCityTo(String cityTo)
    {
        this.cityTo = cityTo;
    }
}

Paso 3: Crear la clase de controlador

Archivo: ReservationController.java

Java

// Java Program to Illustrate ReservationController Class
  
package com.geeksforgeeks;
  
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
  
// Annotation
@RequestMapping("/reservation")
@Controller
  
// Class
public class ReservationController {
    @RequestMapping("/bookingForm")
  
    // Method
    public String bookingForm(Model model)
    {
        Reservation res = new Reservation();
        model.addAttribute("reservation", res);
  
        return "reservation-page";
    }
  
    // Annotation
    @RequestMapping("/submitForm")
    // Method
    public String submitForm(@ModelAttribute("reservation")
                             Reservation res)
    {
        return "confirmation-form";
    }
}

Paso 4: Proporcione la entrada del controlador en el archivo web.xml

Archivo: web.xml

Java

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <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>

Paso 5: Defina el bean en el archivo XML

Archivo: spring-servlet.xml

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">
  
    <!-- Add support for component scanning -->
    <context:component-scan base-package="com.geeksforgeeks" />
      
    <!--Add support for conversion, formatting and validation -->
    <mvc:annotation-driven/>
     <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>

Paso 6: Crea la página solicitada

Archivo: index.jsp

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Railway Reservation System</title>
</head>
<body>
<a href="reservation/bookingForm">GFG Railway Reservation System.</a>
</body>
</html>

Paso 7: Cree los componentes de la vista

Archivo: página-reserva.jsp

HTML

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
    <title>Reservation Form</title>
</head>
<h3>Railway Reservation Form</h3>
<body>
    <form:form action="submitForm" modelAttribute="reservation">
        First name: <form:input path="firstName" />        
        <br><br>
        Last name: <form:input path="lastName" />
        <br><br>
        Gender: 
        Male<form:radiobutton path="Gender" value="Male"/>
        Female<form:radiobutton path="Gender" value="Female"/>
        <br><br>
        Meals:
        BreakFast<form:checkbox path="Food" value="BreakFast"/>
        Lunch<form:checkbox path="Food" value="Lunch"/>
        Dinner<form:checkbox path="Food" value="Dinner"/>
        <br><br>
        Leaving from: <form:select path="cityFrom">
        <form:option value="Delhi" label="Delhi"/>
        <form:option value="Noida" label="Noida"/>
        <form:option value="Amritsar" label="Amritsar"/>
        </form:select>
        <br><br>
        Going to: <form:select path="cityTo">
        <form:option value="Mumbai" label="Mumbai"/>
        <form:option value="Pune" label="Pune"/>
        <form:option value="Nashik" label="Nashik"/>
        </form:select>
        <br><br>
        <input type="submit" value="Submit" />
    </form:form>
</body>
</html>

Archivo: página de confirmación.jsp

HTML

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<body>
  
<p>Geeksforgeeks reservation is confirmed successfully.</p>
  
First Name : ${reservation.firstName} <br>
Last Name : ${reservation.lastName} <br>
Gender: ${reservation.gender}<br>
Meals: 
<ul>
<c:forEach var="meal" items="${reservation.food}">
<li>${meal}</li>
</c:forEach>
</ul>
Leaving From : ${reservation.cityFrom} <br>
Going To : ${reservation.cityTo}
</body>
</html>

Producción:

Haga clic en el enlace y verá el siguiente resultado

Seleccione otro cuadro de lista

Por último , esta salida se mostrará

Publicación traducida automáticamente

Artículo escrito por sanketnagare y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *