Spring MVC — захват и отображение данных из регистрационной формы

Опубликовано: 5 Октября, 2022

Эта статья является продолжением этой статьи 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

Выход:

Давайте заполним форму,

Затем нажмите кнопку «Зарегистрироваться», и вы увидите, что все данные, введенные пользователем, были успешно отображены.