diff --git a/spring-mvc-basics/README.md b/spring-mvc-basics/README.md
index 80db309df2..afb71ce63d 100644
--- a/spring-mvc-basics/README.md
+++ b/spring-mvc-basics/README.md
@@ -14,4 +14,5 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Spring MVC Content Negotiation](http://www.baeldung.com/spring-mvc-content-negotiation-json-xml)
- [Spring @RequestMapping New Shortcut Annotations](http://www.baeldung.com/spring-new-requestmapping-shortcuts)
- [Spring MVC Custom Validation](http://www.baeldung.com/spring-mvc-custom-validator)
-- [Using Spring @ResponseStatus to Set HTTP Status Code](http://www.baeldung.com/spring-response-status)
\ No newline at end of file
+- [Using Spring @ResponseStatus to Set HTTP Status Code](http://www.baeldung.com/spring-response-status)
+- [Spring MVC and the @ModelAttribute Annotation](http://www.baeldung.com/spring-mvc-and-the-modelattribute-annotation)
\ No newline at end of file
diff --git a/spring-mvc-basics/src/main/java/com/baeldung/web/controller/EmployeeController.java b/spring-mvc-basics/src/main/java/com/baeldung/web/controller/EmployeeController.java
index 00bbbfbe41..cbea4c98c6 100644
--- a/spring-mvc-basics/src/main/java/com/baeldung/web/controller/EmployeeController.java
+++ b/spring-mvc-basics/src/main/java/com/baeldung/web/controller/EmployeeController.java
@@ -4,11 +4,15 @@ import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
import com.baeldung.model.Employee;
@@ -24,8 +28,33 @@ public class EmployeeController {
employeeMap.put(3L, new Employee(3L, "Mike", "223334411", "admin"));
}
- @RequestMapping(value = "/employee/{Id}",produces = { "application/json", "application/xml" }, method = RequestMethod.GET)
+ @RequestMapping(value = "/employee", method = RequestMethod.GET)
+ public ModelAndView showForm() {
+ return new ModelAndView("employeeHome", "employee", new Employee());
+ }
+
+ @RequestMapping(value = "/employee/{Id}", produces = { "application/json", "application/xml" }, method = RequestMethod.GET)
public @ResponseBody Employee getEmployeeById(@PathVariable final Long Id) {
return employeeMap.get(Id);
}
+
+ @RequestMapping(value = "/addEmployee", method = RequestMethod.POST)
+ public String submit(@ModelAttribute("employee") final Employee employee, final BindingResult result, final ModelMap model) {
+ if (result.hasErrors()) {
+ return "error";
+ }
+ model.addAttribute("name", employee.getName());
+ model.addAttribute("contactNumber", employee.getContactNumber());
+ model.addAttribute("workingArea", employee.getWorkingArea());
+ model.addAttribute("id", employee.getId());
+
+ employeeMap.put(employee.getId(), employee);
+
+ return "employeeView";
+ }
+
+ @ModelAttribute
+ public void addAttributes(final Model model) {
+ model.addAttribute("msg", "Welcome to the Netherlands!");
+ }
}
diff --git a/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeHome.jsp b/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeHome.jsp
new file mode 100644
index 0000000000..fa5812faea
--- /dev/null
+++ b/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeHome.jsp
@@ -0,0 +1,33 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
+
+
+
+Form Example - Register an Employee
+
+
+ Welcome, Enter The Employee Details
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeView.jsp b/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeView.jsp
new file mode 100644
index 0000000000..9a9b879a35
--- /dev/null
+++ b/spring-mvc-basics/src/main/webapp/WEB-INF/view/employeeView.jsp
@@ -0,0 +1,25 @@
+<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
+
+
+Spring MVC Form Handling
+
+
+
+ Submitted Employee Information
+ ${msg}
+
+
+ Name : |
+ ${name} |
+
+
+ ID : |
+ ${id} |
+
+
+ Contact Number : |
+ ${contactNumber} |
+
+
+
+
\ No newline at end of file
diff --git a/spring-mvc-java/README.md b/spring-mvc-java/README.md
index d8a79b9759..f12c904229 100644
--- a/spring-mvc-java/README.md
+++ b/spring-mvc-java/README.md
@@ -18,7 +18,6 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Upload and Display Excel Files with Spring MVC](http://www.baeldung.com/spring-mvc-excel-files)
- [web.xml vs Initializer with Spring](http://www.baeldung.com/spring-xml-vs-java-config)
- [The HttpMediaTypeNotAcceptableException in Spring MVC](http://www.baeldung.com/spring-httpmediatypenotacceptable)
-- [Spring MVC and the @ModelAttribute Annotation](http://www.baeldung.com/spring-mvc-and-the-modelattribute-annotation)
- [Spring MVC @PathVariable with a dot (.) gets truncated](http://www.baeldung.com/spring-mvc-pathvariable-dot)
- [A Quick Example of Spring Websockets’ @SendToUser Annotation](http://www.baeldung.com/spring-websockets-sendtouser)
- [Working with Date Parameters in Spring](https://www.baeldung.com/spring-date-parameters)
diff --git a/spring-mvc-java/src/main/java/com/baeldung/web/controller/EmployeeController.java b/spring-mvc-java/src/main/java/com/baeldung/web/controller/EmployeeController.java
index ef76059567..251287dff8 100644
--- a/spring-mvc-java/src/main/java/com/baeldung/web/controller/EmployeeController.java
+++ b/spring-mvc-java/src/main/java/com/baeldung/web/controller/EmployeeController.java
@@ -1,20 +1,29 @@
package com.baeldung.web.controller;
-import com.baeldung.model.Employee;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.MatrixVariable;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;
-import java.util.*;
+import com.baeldung.model.Employee;
@SessionAttributes("employees")
@Controller
-@ControllerAdvice
public class EmployeeController {
Map employeeMap = new HashMap<>();
@@ -35,7 +44,7 @@ public class EmployeeController {
public @ResponseBody Employee getEmployeeById(@PathVariable final long Id) {
return employeeMap.get(Id);
}
-
+
@RequestMapping(value = "/addEmployee", method = RequestMethod.POST)
public String submit(@ModelAttribute("employee") final Employee employee, final BindingResult result, final ModelMap model) {
if (result.hasErrors()) {
@@ -51,11 +60,6 @@ public class EmployeeController {
return "employeeView";
}
- @ModelAttribute
- public void addAttributes(final Model model) {
- model.addAttribute("msg", "Welcome to the Netherlands!");
- }
-
@RequestMapping(value = "/employees/{name}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity> getEmployeeByNameAndBeginContactNumber(@PathVariable final String name, @MatrixVariable final String beginContactNumber) {
diff --git a/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeHome.jsp b/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeHome.jsp
index 8a32fd12b6..268f0a055a 100644
--- a/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeHome.jsp
+++ b/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeHome.jsp
@@ -8,7 +8,7 @@
Welcome, Enter The Employee Details
-
+
Name |
diff --git a/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeView.jsp b/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeView.jsp
index 627a9d9ddb..1457bc5fc8 100644
--- a/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeView.jsp
+++ b/spring-mvc-java/src/main/webapp/WEB-INF/view/employeeView.jsp
@@ -6,7 +6,6 @@
Submitted Employee Information
- ${msg}
Name : |
@@ -20,10 +19,6 @@
Contact Number : |
${contactNumber} |
-
- Working Area : |
- ${workingArea} |
-
\ No newline at end of file