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