Рубрики
Без рубрики

Отправка формы и отображение результатов с помощью Spring Boot

Обзор В этом руководстве рассказывается о том, как создать и отправить форму с помощью приложения Spring Boot…. С тегами java, spring boot, thymeleaf, eclipse.

Обзор

В этом руководстве рассказывается о том, как создать и отправить форму с помощью приложения Spring Boot.

Необходимые Условия

Давайте начнем со следующих шагов.

  1. Создайте проект с помощью Spring Starter Project, используя свою ИДЕЮ

    • Вы также можете выполнить сборку с помощью Spring Initializr и импортировать проект в свою среду разработки.
  2. Добавление зависимостей

Thymeleaf – это библиотека Java, которая способна применять набор преобразований к файлам шаблонов для отображения данных и/или текста, создаваемых вашими приложениями. Spring Boot DevTools внесите изменения и перезапустите приложение.

  1. Структура проекта

Давайте начнем!

FormRegistrationApplication.java

package com.demo.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class FormRegistrationApplication {

    public static void main(String[] args) {
        SpringApplication.run(FormRegistrationApplication.class, args);
    }

}

pom.xml

Зависимости выглядят следующим образом.


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.21.RELEASE
         
    
    com.demo
    form_registration
    1.0
    form_registration
    Spring MVC tutorial

    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


Configuration.java

Configuration.java
package com.demo.example;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@org.springframework.context.annotation.Configuration
public class Configuration extends WebMvcConfigurerAdapter {


    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("home");
    }
    @Bean
    @Qualifier("subjects")
    public List subjects(){
        return Arrays.asList("Burmese","English","Maths","Chemistry","Physics","Biology");
    }
    @Bean
    @Qualifier("days")
    public List days(){
        return Arrays.asList("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
    }
    @Bean
    @Qualifier("months")
    public List months(){
        return Arrays.asList("1","2","3","4","5","6","7","8","9","10","11","12");
    }
    @Bean
    @Qualifier("years")
    public List years(){
        return Arrays.asList("1998","1999","2000","2001","2002","2003");
    }

}

Student.java

Объект Student в следующем коде содержит такие поля, как оценка, предметы, имя, адрес электронной почты, город, населенный пункт, день, месяц и год, которые соответствуют полям формы в представлении результатов учащихся и используются для сбора информации из формы:
package com.demo.example.model;

import java.util.List;

public class Student {

    private Grade grade;
    private List subjects;
    private String name;
    private String email;
    private String city;
    private String township;
    private List day;
    private List month;
    private List year;

    public List getSubjects() {
        return subjects;
    }
    public void setSubjects(List subjects) {
        this.subjects = subjects;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getTownship() {
        return township;
    }
    public void setTownship(String township) {
        this.township = township;
    }
    public List getDay() {
        return day;
    }
    public void setDay(List day) {
        this.day = day;
    }
    public List getMonth() {
        return month;
    }
    public void setMonth(List month) {
        this.month = month;
    }
    public List getYear() {
        return year;
    }
    public void setYear(List year) {
        this.year = year;
    }
    public Grade getGrade() {
        return grade;
    }
    public void setGrade(Grade grade) {
        this.grade = grade;
    }
}

Grade.java

package com.demo.example.model;

public enum Grade {
   A,B,C,D,E
}

HomeController.java

Контроллер отправляет информацию об ученике и показывает результаты.
package com.demo.example.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import com.demo.example.model.Grade;
import com.demo.example.model.Student;

@Controller
@RequestMapping("/form")
public class HomeController {
      @Autowired
      @Qualifier("subjects")
      private List subjects;

      @Autowired
      @Qualifier("days")
      private List days;

      @Autowired
      @Qualifier("months")
      private List months;

      @Autowired
      @Qualifier("years")
      private List years;

      @GetMapping
      public String get(ModelMap model){
          Student student=new Student();
          model.addAttribute("student", student);
          return "form";

      }
      @PostMapping
      public String post(Student dto, ModelMap map){
          map.put("result", dto);
          return "form";
      }

      @ModelAttribute("subjects")
      public List subjects(){
          return subjects;
      }
      @ModelAttribute("days")
      public List days(){
          return days;
      }
      @ModelAttribute("months")
      public List months(){
          return months;
      }
      @ModelAttribute("years")
      public List years(){
          return years;
      }
      @ModelAttribute("grades")
      public Grade [] grades(){
          return Grade.values();
      }

}

home.html

Это главная страница. Если вы нажмете, пожалуйста, зарегистрируйтесь,form.html просматривается.





Form_Registration


   Please Register


form.html

заключается в размещении данных, которые зарегистрированы пользователем.
означает объект student и означает определенный объект.
получите данные вашего зарегистрированного студента.





Form_Registration


    

Form Registration



Result

Student Name

  • Name

Email

  • Email

Date of Birth

City

  • City

Township

  • Township

Grades

  • Grades

4.Запустите Сервер Просто запустите сервер и перейдите к http://localhost:8080/

Вы можете увидеть это в своем браузере! Если вы нажмете Пожалуйста, зарегистрируйтесь , вы можете это увидеть. Если вы отправите , вы можете просмотреть свой результат.

Оригинал: “https://dev.to/reytech-lesson/spring-boot-hello-world-example-3k88”