當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot提交表单信息
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot提交表单信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
理論
演示及源碼
理論
前端頁面如何發送給后端頁面:
SpringMVC自動將請求參數和入參對象的屬性進行一一綁定;要求請求參數的名字和javaBean對象入參一樣。
?
最后跳轉的時候要注意:
redirect:表示重定向到一個地址; / 代表當前項目路徑;
forward:為轉發;
?
?
?
演示及源碼
程序運行截圖如下:
填寫表單后提交:
?
程序結構如下:
源碼如下:
MyMvcConfig.java
package adddatademo.demo.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configuration public class MyMvcConfig {@Beanpublic WebMvcConfigurerAdapter webMvcConfigurerAdapter(){WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("index");registry.addViewController("/index.html").setViewName("index");}};return adapter;} }EmployeeController.java
package adddatademo.demo.controller;import adddatademo.demo.data.DepartmentData; import adddatademo.demo.data.EmployeeData; import adddatademo.demo.entities.Department; import adddatademo.demo.entities.Employee; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping;import java.util.Collection;@Controller public class EmployeeController {@AutowiredEmployeeData employeeData;@AutowiredDepartmentData departmentData;//獲取部門信息@GetMapping("/")public String toAddPage(Model model){Collection<Department> departments = departmentData.getDepartments();model.addAttribute("depts",departments);return "index";}//添加@PostMapping("/")public String addEmp(Employee employee){System.out.println(employee);employeeData.save(employee);return "redirect:/";} }DepartmentData.java
package adddatademo.demo.data;import adddatademo.demo.entities.Department; import org.springframework.stereotype.Repository;import java.util.Collection; import java.util.HashMap; import java.util.Map;@Repository public class DepartmentData {private static Map<Integer, Department> departments = null;static{departments = new HashMap<Integer, Department>();departments.put(100, new Department(100,"開發組"));departments.put(101, new Department(101,"運維組"));departments.put(102, new Department(102,"吃飯組"));}public Collection<Department> getDepartments(){return departments.values();}public Department getDepartment(Integer id){return departments.get(id);} }EmployeeData.java
package adddatademo.demo.data;import adddatademo.demo.entities.Employee; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository;import java.util.HashMap; import java.util.Map;@Repository public class EmployeeData {private static Map<Integer, Employee> employees = null;@Autowiredprivate DepartmentData departmentData;static{employees = new HashMap<Integer, Employee>();}private static Integer initId = 1000;public void save(Employee employee){if(employee.getId() == null){employee.setId(initId++);}employee.setDepartment(departmentData.getDepartment(employee.getDepartment().getId()));employees.put(employee.getId(), employee);} }Department.java
package adddatademo.demo.entities;public class Department {private Integer id;private String departmentName;public Department(){}public Department(Integer id, String departmentName) {this.id = id;this.departmentName = departmentName;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getDepartmentName() {return departmentName;}public void setDepartmentName(String departmentName) {this.departmentName = departmentName;}@Overridepublic String toString() {return "Department{" +"id=" + id +", departmentName='" + departmentName + '\'' +'}';} }Employee.java
package adddatademo.demo.entities;import java.util.Date;public class Employee {private Integer id;private String name;private String email;//1 male, 0 femaleprivate Integer gender;private Department department;private Date birth;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}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 Integer getGender() {return gender;}public void setGender(Integer gender) {this.gender = gender;}public Department getDepartment() {return department;}public void setDepartment(Department department) {this.department = department;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}public Employee(Integer id, String name, String email, Integer gender, Department department, Date birth) {this.id = id;this.name = name;this.email = email;this.gender = gender;this.department = department;this.birth = birth;}public Employee(){}@Overridepublic String toString() {return "Employee{" +"id=" + id +", name='" + name + '\'' +", email='" + email + '\'' +", gender=" + gender +", department=" + department +", birth=" + birth +'}';} }index.html
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"><title>Title</title><link href="#" th:href="@{/webjars/bootstrap/4.0.0/css/bootstrap.css}" rel="stylesheet"> </head> <body><form th:action="@{/}" method="post"><input type="hidden" name="_method" value="put" th:if="${emp!=null}"/><input type="hidden" name="id" th:if="${emp!=null}" th:value="${emp.id}"><div class="form-group"><label>姓名</label><input name="name" type="text" class="form-control" placeholder="IT1995" th:value="${emp!=null}?${emp.lastName}"></div><div class="form-group"><label>郵箱</label><input name="email" type="email" class="form-control" placeholder="570176391@qq.com" th:value="${emp!=null}?${emp.email}"></div><div class="form-group"><label>性別</label><br/><div class="form-check form-check-inline"><input class="form-check-input" type="radio" name="gender" value="1" th:checked="${emp!=null}?${emp.gender==1}"><label class="form-check-label">男</label></div><div class="form-check form-check-inline"><input class="form-check-input" type="radio" name="gender" value="0" th:checked="${emp!=null}?${emp.gender==0}"><label class="form-check-label">女</label></div></div><div class="form-group"><label>部門</label><!--提交的是部門的id--><select class="form-control" name="department.id"><option th:selected="${emp!=null}?${dept.id == emp.department.id}" th:value="${dept.id}" th:each="dept:${depts}" th:text="${dept.departmentName}">1</option></select></div><div class="form-group"><label>生日</label><input name="birth" type="text" class="form-control" placeholder="2019/3/12" th:value="${emp!=null}?${#dates.format(emp.birth, 'yyyy-MM-dd HH:mm')}"></div><button type="submit" class="btn btn-primary" th:text="${emp!=null}?'修改':'添加'">添加</button> </form></body> </html>porn.xml
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.19.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.loginWebDemo</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>loginWeb</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><thymeleaf.version>3.0.9.RELEASE</thymeleaf.version><thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><!--引入jquery-webjar--><dependency><groupId>org.webjars</groupId><artifactId>jquery</artifactId><version>3.3.1</version></dependency><!--引入bootstrap--><dependency><groupId>org.webjars</groupId><artifactId>bootstrap</artifactId><version>4.0.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>?
?
總結
以上是生活随笔為你收集整理的Spring Boot提交表单信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java工作笔记-Spring Boot
- 下一篇: Java工作笔记-apache-tomc