Spring MVC教程:流程表格提交

本文介绍了如何在Spring中处理表单。在此程序中,将添加一个表单提交模块。具体来说,我们将使用Web表单添加新员工并显示新员工列表。
步骤1:准备必修课程
将addEmployee方法添加到EmployeeManager.java。此方法将用于将新员工添加到列表中。
EmployeeManager.java
package com.programcreek.helloworld.service;
import java.util.ArrayList;import java.util.List;import com.programcreek.helloworld.model.Employee;
public class EmployeeManager {
private static List employeeList;

public EmployeeManager(){
	 employeeList = new ArrayList<Employee>();
	 employeeList.add(new Employee(1, "Mike", "Smith"));
	 employeeList.add(new Employee(2, "John", "Taylor"));
	 employeeList.add(new Employee(3, "Dave", "Wilson"));	 
}

public List<Employee> getEmployeeList(){
	return employeeList;
}

public Employee addEmployee(Employee e){
	Employee employee = new Employee();
	employee.setId(employeeList.size()+1);
	employee.setFirstName(e.getFirstName());
	employee.setLastName(e.getLastName());
	employeeList.add(employee);
	return employee;
}}

Employee.java
package com.programcreek.helloworld.model;
public class Employee {
private int id;
private String lastName;
private String firstName;

public Employee(){

}

public Employee(int id, String lastName, String firstName) {
	this.id = id;
	this.lastName = lastName;
	this.firstName = firstName;
}

public int getId() {
	return id;
}
public void setId(int id) {
	this.id = id;
}
public String getLastName() {
	return lastName;
}
public void setLastName(String lastName) {
	this.lastName = lastName;
}
public String getFirstName() {
	return firstName;
}
public void setFirstName(String firstName) {
	this.firstName = firstName;
}}

步骤2:建立控制器
创建一个新的控制器来处理表单提交。
EmployeeAddController.java
package com.programcreek.helloworld.controller;
import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import com.programcreek.helloworld.model.Employee;import com.programcreek.helloworld.service.EmployeeManager;

@Controllerpublic class EmployeeAddController {

@RequestMapping("/showEmployeeForm")
public ModelAndView getEmployeeForm(){
	ModelAndView mv = new ModelAndView("employeeAdd");
	mv.addObject("employeeEntity", new Employee());
	return mv;
}

@RequestMapping("/addEmployee")
public ModelAndView addEmployee(@ModelAttribute Employee e){
	ModelAndView mv = new ModelAndView("employeeList");

	EmployeeManager employeeManager = new EmployeeManager();
	employeeManager.addEmployee(e);
	mv.addObject("employeeList", employeeManager.getEmployeeList());

	return mv;
}}

控制器在这里处理两个请求:一个将网页引导到表单,另一个处理表单提交。注意@ModelAttribute将表单的属性映射到员工。
步骤3:建立检视
employeeAdd.jsp
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %><%@ taglib prefix=“form” uri=“http://www.springframework.org/tags/form” %>
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pageEncoding=“ISO-8859-1”%>

Add Employee

<form:form method="post"  modelAttribute="employeeEntity"  action="addEmployee">
	First Name:<form:input path="firstName"></form:input><br/>
	Last Name: <form:input path="lastName"></form:input><br/>
	<input type="submit" value="Submit">
</form:form></body></html>

添加一个新链接,该链接将导致添加员工表格。
index.jsp
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>Spring 4 MVC - HelloWorld Index Page



Hello World

	<h3>
		<a href="employee">Employee List</a>
	</h3>

	<h3>
		<a href="showEmployeeForm">Add Employee</a>
	</h3>
</center></body></html>

最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。
在这里插入图片描述

Guess you like

Origin blog.csdn.net/zhaozihao594/article/details/105397348