В следующем примере описывается использование скрытого поля в формах с использованием среды Spring Web MVC. Для начала давайте наладим работающую среду Eclipse IDE и рассмотрим следующие шаги для разработки веб-приложения на основе динамических форм с использованием Spring Web Framework.
| шаг | Описание | 
|---|---|
| 1 | Создайте проект с именем HelloWeb в пакете com.tutorialspoint, как описано в главе Spring MVC — Hello World. | 
| 2 | Создайте классы Java Student, StudentController в пакете com.tutorialspoint. | 
| 3 | Создайте файлы представлений student.jsp, result.jsp в подпапке jsp. | 
| 4 | Последний шаг — создание содержимого исходного файла и файлов конфигурации и экспорт приложения, как описано ниже. | 
Student.java
package com.tutorialspoint; public class Student { private Integer age; private String name; private Integer id; public void setAge(Integer age) { this.age = age; } public Integer getAge() { return age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setId(Integer id) { this.id = id; } public Integer getId() { return id; } }
StudentController.java
package com.tutorialspoint; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.ui.ModelMap; @Controller public class StudentController { @RequestMapping(value = "/student", method = RequestMethod.GET) public ModelAndView student() { return new ModelAndView("student", "command", new Student()); } @RequestMapping(value = "/addStudent", method = RequestMethod.POST) public String addStudent(@ModelAttribute("SpringWeb")Student student, ModelMap model) { model.addAttribute("name", student.getName()); model.addAttribute("age", student.getAge()); model.addAttribute("id", student.getId()); return "result"; } }
Здесь для первого сервисного метода student () мы передали пустой объект Studentobject в объекте ModelAndView с именем «command», потому что среда Spring ожидает объект с именем «command», если вы используете <form: form > теги в вашем файле JSP. Таким образом, когда вызывается метод student () , он возвращает представление student.jsp .
Второй сервисный метод addStudent () будет вызываться для метода POST по URL-адресу HelloWeb / addStudent . Вы подготовите свой модельный объект на основе предоставленной информации. Наконец, из метода сервиса будет возвращено представление «result», что приведет к отображению result.jsp
student.jsp
<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%> <html> <head> <title>Spring MVC Form Handling</title> </head> <body> <h2>Student Information</h2> <form:form method = "POST" action = "/HelloWeb/addStudent"> <table> <tr> <td><form:label path = "name">Name</form:label></td> <td><form:input path = "name" /></td> </tr> <tr> <td><form:label path = "age">Age</form:label></td> <td><form:input path = "age" /></td> </tr> <tr> <td>< </td> <td><form:hidden path = "id" value = "1" /></td> </tr> <tr> <td colspan = "2"> <input type = "submit" value = "Submit"/> </td> </tr> </table> </form:form> </body> </html>
Здесь мы используем тег <form: hidden /> для визуализации скрытого HTML-поля.
Например —
<form:hidden path = "id" value = "1"/>
Он будет отображать следующий HTML-контент.
<input id = "id" name = "id" type = "hidden" value = "1"/>
result.jsp
<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<html>
   <head>
      <title>Spring MVC Form Handling</title>
   </head>
   <body>
      <h2>Submitted Student Information</h2>
      <table>
         <tr>
            <td>Name</td>
            <td>${name}</td>
         </tr>
         <tr>
            <td>Age</td>
            <td>${age}</td>
         </tr>
         <tr>
            <td>ID</td>
            <td>${id}</td>
         </tr>
      </table>  
   </body>
</html>
Когда вы закончите создавать исходные файлы и файлы конфигурации, экспортируйте ваше приложение. Щелкните правой кнопкой мыши свое приложение и используйте опцию Экспорт → Файл WAR и сохраните файл HelloWeb.war в папке веб-приложений Tomcat.
Теперь запустите сервер Tomcat и убедитесь, что вы можете получить доступ к другим веб-страницам из папки webapps с помощью стандартного браузера. Попробуйте URL — http: // localhost: 8080 / HelloWeb / student, и мы увидим следующий экран, если все в порядке с веб-приложением Spring.
После отправки необходимой информации, нажмите на кнопку отправки, чтобы отправить форму. Мы увидим следующий экран, если все в порядке с вашим веб-приложением Spring.
