Spring Web MVC framework to demonstrate how to utilize Listbox in forms. Let’s start by setting up an Eclipse IDE and then following the steps to create a Dynamic Form-based Web Application utilizing the Spring Web Framework.
The items are listed in the Spring MVC form Listbox. This tag creates a select element in HTML. It allows you to bind data to the element you’ve chosen.
Syntax:
<form:select path="name">
Here are some more tags that may be used to narrow down the selections.
A. Option tag: The HTML option tag is generated by this tag. Each tag has a value that the user can choose from.
<form:option value="abc" label="xyz"/>
B. Options tag: A list of HTML option tags is generated by this tag. Each tag has a list of components that the user has chosen.
<form:options items="${elementList}" itemValue="abc" itemLabel="xyz"/>
Spring MVC – Listbox
The project Structure is as follows:
Implementation:
Step 1: Add dependencies to the pom.xml file.
File: pom.xml
XML
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <modelVersion>4.0.0</modelVersion> <groupId>com.neveropen</groupId> <artifactId>SpringMVC</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>SpringMVC Maven Webapp</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.1.RELEASE</version></dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>9.0.12</version></dependency><dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency> </dependencies> <build> <finalName>SpringMVC</finalName> </build></project> |
Step 2: Create the bean class
File: Reservation.java
Java
// Java Program to Illustrate Reservation Class package com.neveropen; // Classpublic 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; }} |
Step 3: Create the controller class
File: ReservationController.java
Java
// Java Program to Illustrate ReservationController Class package com.neveropen; // Importing required classesimport 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 // Classpublic 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"; }} |
Step 4: Provide the entry of controller in the web.xml file
File: 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> |
Step 5: Define the bean in the XML file
File: spring-servlet.xml
XML
<?xml version="1.0" encoding="UTF-8"?> xsi:schemaLocation=" <!-- Add support for component scanning --> <context:component-scan base-package="com.neveropen" /> <!--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> |
Step 6: Create the requested page
File: 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> |
Step 7: Create the view components
File: reservation-page.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> |
File: confirmation-page.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> |
Output:
Click on the link and you will see the following output
Select other Listbox
At the last, this output will be shows

