Spring MVC — захват и отображение данных из регистрационной формы
Эта статья является продолжением этой статьи Spring MVC — создание регистрационной формы с использованием библиотеки тегов форм, где мы успешно создали регистрационную форму с использованием библиотеки тегов форм. Здесь, в этой статье, мы собираемся объяснить, как мы можем собирать данные, которые вводит пользователь, и отображать их на нашей следующей странице после нажатия кнопки «Регистрация». Образец изображения приведен ниже, чтобы получить представление о том, что мы собираемся делать в этой статье.
Реализация
Добавьте код в файл Registration-page.jsp.
Перейдите к файлу Registration-page.jsp и добавьте приведенную ниже строку кода в тег form:form .
<form:form action="registration-complete" method="get" modelAttribute="userRegInfo">
Все остальные вещи остаются без изменений.
Файл: Обновлена Registration-page.jsp
HTML
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> < html > < body > < h1 align = "center" >Create Registration Form using Form Tag in Spring MVC</ h1 > <!-- Changes in this line --> < form:form action = "registration-complete" method = "get" modelAttribute = "userRegInfo" > < div align = "center" > <!-- A Simple Input Field --> < label >Name : </ label > < form:input path = "name" /> < br /> < label >User Name : </ label > < form:input path = "userName" /> < br /> < label >Password : </ label > < form:password path = "password" /> < br /> <!-- DropDown Field --> < label >Branch : </ label > < form:select path = "branch" > < form:option value = "CSE" label = "Computer Science" ></ form:option > < form:option value = "CSA" label = "Computer Science and Application" ></ form:option > < form:option value = "EE" label = "Electrical Engineering" ></ form:option > < form:option value = "ME" label = "Mechanical Engineering" ></ form:option > </ form:select > < br /> <!-- CheckBox Field --> < label >Skills : </ label > Java : < form:checkbox path = "skills" value = "java" /> Python : < form:checkbox path = "skills" value = "python" /> C++ : < form:checkbox path = "skills" value = "cpp" /> DSA : < form:checkbox path = "skills" value = "dsa" /> Spring : < form:checkbox path = "skills" value = "spring" /> < br /> <!-- RadioButton Field --> < label >Gender : </ label > Male< form:radiobutton path = "gender" value = "male" /> Female< form:radiobutton path = "gender" value = "female" /> < br /> <!-- Button Field --> < input type = "submit" value = "Register" > </ div > </ form:form > </ body > </ html > |
Добавить код в файл RegistrationController.java
Теперь снова вернитесь к файлу RegistrationController.java и создайте еще один метод, подобный этому, с конечной точкой «Registration -complete », потому что мы упомянули то же самое внутри тега form:form в качестве действия.
@RequestMapping("/registration-complete") public String processUserReg(@ModelAttribute("userRegInfo") UserRegistrationDTO userRegistrationDTO) { return "registration-complete"; }
Файл: Обновленный RegistrationController.java
Java
package com.geeksforgeeks.calculator.controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import com.geeksforgeeks.calculator.dto.UserRegistrationDTO; @Controller public class RegistrationController { @RequestMapping ( "/register" ) public String showRegistrationPage( @ModelAttribute ( "userRegInfo" ) UserRegistrationDTO userRegistrationDTO) { return "registration-page" ; } @RequestMapping ( "/registration-complete" ) public String processUserReg( @ModelAttribute ( "userRegInfo" ) UserRegistrationDTO userRegistrationDTO) { return "registration-complete" ; } } |
Создать новый вид
На следующем шаге мы должны создать новое представление с именем « register-complete » внутри папки WEB-INF > view. Ниже приведен код файла Registration -complete.jsp .
HTML
< html > < head > </ head > < body > < h1 align = "center" >Registration Successful</ h1 > < h2 >The details entered by the user are :</ h2 > Name: ${userRegInfo.name} < br /> User Name: ${userRegInfo.userName} < br /> Password: ${userRegInfo.password} < br /> Branch: ${userRegInfo.branch} < br /> Skills: ${userRegInfo.skills} < br /> Gender: ${userRegInfo.gender} < br /> </ body > </ html > |
Итак, мы закончили с кодированием. Теперь давайте снова запустим наше приложение и проверим, все ли работает нормально.
Выход
Нажмите следующий URL, чтобы запустить контроллер
http://localhost:8080/simple-calculator/geeksforgeeks.org/register
Выход:
Давайте заполним форму,
Затем нажмите кнопку «Зарегистрироваться», и вы увидите, что все данные, введенные пользователем, были успешно отображены.