Примеры обработки формы Spring MVC В следующем примере показано, как написать простое веб-приложение, которое использует формы HTML с использованием Spring Web MVC Framework.
Строительство тестового проекта
(1) Создайте новый веб -проект Java и представьте несколько пакетов JAR, необходимых для проектов SpringMVC. Требуемая структура проекта и банки следующие:
①web.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" версия = "3.1"> <servlet> <servlet-name> springmv> springmv> springmv </versmv> servle-name> springmv> springmv </rersmv> namv> namv> <Servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <gudt-on-startup> 1 </load-on-startup> </servlet> <servlet-mapping> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-pattern>*. <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name> parmentencodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
Вот перехват SpringMVC, который заканчивается.
②springmvc-servlet.xml:
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: context = "http://www.springframework.org/schema/context" xmlns: mvc = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://wwww.spramemema. http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x.0.x. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> <Stext: component-Scan Base-Package =" cn.zifangsky. * .controller "/context-controler"/annoTry-confagage = cn.zifangsky. <!-Активируйте аннотацию, определенную в Bean-> <MVC: Annotation-raven/> <bean> <name = "prefix" value = "/web-inf/pages/"/> <name = "suffix" value = ". Jsp"/> </bean> </beans>
В приведенном выше файле конфигурации <контекст: аннотация-конфиг /> активирует некоторые аннотации, определенные в бобах, в то время как <mvc: annotation-управляемая />> активирует некоторые конфигурации по умолчанию для SpringMVC. В конце файла конфигурации определяется соответствие между логическим представлением и фактическим представлением. Одним словом, префикс пути и суффикс, определенные выше, приведены для возвращаемого логического представления. Это реальный путь к фактическому представлению.
2. Используйте Springmvc для обработки форм форм
(1) Перед официальным началом создайте модель и класс перечисления:
① Пользователь объекта:
пакет cn.zifangsky.model; import java.time.localdate; импорт org.springframework.format.annotation.dateTimeFormat; Пользователь открытого класса {частное название строки; Private String Password; частная строковая задание; @Datetimeformat (pattern = "yyyy-mm-dd") частная дата рождения; частный гендерный пол; частная строковая страна; частное логическое курение; public String getName () {return name; } public void setName (string name) {this.name = name; } public String getPassword () {return пароль; } public void setPassword (String password) {this.password = password; } public String getJob () {return job; } public void setJob (string job) {this.job = job; } public LocalDate getBirthDate () {returndateDate; } public void setBirthDate (localdate date) {this.birthdate = DISTATE; } public Gender getGender () {return Gender; } public void setgender (гендерный пол) {this.gender = gender; } public String getCountry () {return страна; } public void setCountry (String Country) {this.country = country; } public boolean issmoking () {return Smoking; } public void setSmoking (логическое курение) {this.smoking = курение; }} ② Класс перечисления пол, который представляет «пол»:
Пакет cn.zifangsky.model; публичный enum пол {мужчина, женщина;} Следующее будет кратко объяснить обработку формы формы SpringMVC в соответствии с процессом выполнения программы, а именно на заполнение формы на переднем плане> Обработка контроллера> Страница просмотра обработки
(2) Страница домашней страницы и формы тестового проекта:
①home Page Index.jsp:
<% response.sendredirect ("form.html"); %>Видно, что наша домашняя страница здесь очень проста, которая предназначена для перенаправления в «form.html», но благодаря нашей предыдущей конфигурации в web.xml Springmvc передаст этот запрос конкретному контроллеру для обработки, конечно, он находится непосредственно на страницу формы формы. Конкретная логика обработки в контроллере будет обсуждаться ниже
②form Form Page userform.jsp:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc"%> <html> http-equiv = "content-type" content = "text/html; charset = utf-8"> <Title> Spring Mvc обработка формы </title> </head> <body> <h2> Регистрация пользователя </h2> <mvc: formatttrube = "user" actence.html "> <TraT> path = "name"> name: </mvc: label> </td> <td> <mvc: input path = "name"/> </td> </tr> <tr> <td> <mvc: label path = "password"> Пароль: </mvc: label> </td> <td> <mvc: пароль = "пароль"/trd> </td> <td> <mvc: пароль = " <TD> <MVC: label path = "job"> work: </mvc: label> </td> <td> <mvc: textarea path = "job"/> </td> </tr> <tr> <td> <mvc: label path = "birthdate"> birthdly: </mvc: label> </td> <td> <td> <dd> <dd> <td> <td> /> </td> </tr> <tr> <td> <mvc: label path = "gender"> Пол: </mvc: label> </td> <td> <mvc: radiobuttons path = "gender" items = "$ {genders}"/> </td> </tr> <td> PATH = "Country"> Резиденция: </mvc: label> </td> <td> <mvc: select path = "country" emits = "$ {страны}"/> </td> </tr> <tr> <td> <mvc: label path = "criming"> Вы курите? /> </td> </tr> <tr> <td colspan = "2"> <input type = "value =" pospo "/> </td> </tr> </tr> </table> </mvc: form> </body> </html> Поскольку мы размещаем эту страницу в каталог Web-Inf, мы не можем получить доступ к этому файлу непосредственно через URL. «Form.html», определенная выше, должна быть передана контроллеру для обработки и отображает эту страницу представления. Цель этого состоит в том, чтобы предотвратить доступ к некоторым частным страницам другим без разрешения. В приведенном выше файле важно отметить:
(3) Controller Class UserController.java для обработки бизнес -логики:
Пакет cn.zifangsky.controller; Import org.springframework.stereotype.controller; import org.springframework.web.bind.nantation.modelattribute; импорт org.springframework.web.bindtation.requestmapping; import org.spramework.web.servlet.modelandView; cn.zifangsky.model.user; @controllerpublic class usercontroller {частная статическая конечная строка [] страны = {"Китай", "Япония", "Северная Корея", "Соединенные Штаты"}; @Requestmapping (value = "/form.html") public modelandView user () {modelandView modelandView = new ModelAndView ("userForm"); modelandview.addobject ("user", new user ()); modelandview.addobject («Полы», гендер.values ()); modelandview.addobject («Страны», страны); return ModelandView; } @RequestMapping (value = "/result.html") public modelAndView ProcessUser (@ModelAttribute (value = "user") пользователь u) {modelAndView modelAndView = new ModelAndView ("userResult"); modelandview.addobject ("u", u); return ModelandView; }} Можно видеть, что указаны два метода, и их функции должны перенести в реальную форму для запроса «form.html» и обработки формы. При обработке формы я получил пользовательский тип «U» через аннотацию @ModelAtTribute, которая сначала заполняется форма формы, и ниже приведен отображение формы, поэтому я не скажу много
(4) Тест:
① Заполните в форме:
② Результаты показывают:
UserResult.jsp Page:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc"%> <! Doctype html "////" mvc ". Html 4.01 Transitional // en "" http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv = "content-type" content = "text/html; <h2> Результаты регистра </h2> <table> <ttr> <td> Имя: </td> <td> $ {u.name} </td> </tr> <tr> <td> пароль: </td> <td> $ {u.password} </td> </tr> <tr> <td> <td> $ {u.job} </td> </tr> <tr> <td> день рождения: </td> <td> $ {u.birthdate} </td> </tr> <tr> <td> Пол: </td> <td> $ {u.gender} </td> <td> $ {u.country} </td> </tr> <tr> <td> курение: </td> <td> $ {u.smoking} </td> </tr> </tr> </table> </body> </html>Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.