Exemplos de processamento do formulário MVC Spring O exemplo a seguir ilustra como escrever um aplicativo simples baseado na Web que utiliza formulários HTML usando a estrutura da Web MVC da Spring.
Uma construção de projeto de teste
(1) Crie um novo projeto da Web Java e introduza vários pacotes JAR necessários para os projetos SpringMVC. A estrutura do projeto e os pacotes JAR necessários são os seguintes:
①web.xml:
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-nstance" xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_lelet> nome" versão "=" 3.1 "> <ervert> <Verlet-class> org.springframework.web.servlet.dispatcherServlet </servlet-class> <adarl-on-startup> 1 </load-on-startup> </servlet> <sutlet-mapping> <rut-Pattern>*. <Filter-Name> caracterencodingfilter </ftrid-name> <filter-Class> org.springframework.web.filter.characterencodingFilter </filter-class> <init-param> <amam-name> Encoding </param-name> <aame-value> utf-8 </param-value> <Filter-Name> CaracterEncodingFilter </filter-Name> <url-Pattern>/*</url-tattern> </filter-Mapping> </web-app>
Aqui está um Springmvc que intercepta o sufixo de URL terminando com .html e processando -o
②springmvc-servlet.xml:
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans O http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd "> contextn. <!-Ative a anotação definida no feijão-> <mvc: anotação-driven/> <ean> <propriedade name = "prefixo" value = "/web-inf/páginas/"/> <names name = "sufix" value = ". Jsp"/> </bean> </ Beans>
No arquivo de configuração acima, <Contexto: anotação-config /> ativa algumas anotações definidas no feijão, enquanto <mvc: anotação orientada /> ativa algumas configurações padrão para o springmvc. No final do arquivo de configuração, a correspondência entre a visualização lógica e a visualização real é definida. Em uma palavra, o prefixo do caminho e o sufixo definido acima são dados à visualização lógica retornada. Este é o caminho real para a visão real.
2. Use Springmvc para processar formulários
(1) Antes de iniciar oficialmente, crie uma classe de modelo e enumeração:
① Usuário da entidade:
pacote cn.zifangsky.model; importar java.time.localdate; importar org.springframework.format.annotation.dateTimeFormat; public class User {private string name; senha de sequência privada; trabalho privado de string; @DateTeTimeFormat (Pattern = "yyyy-mm-dd") Private LocalDate Data; gênero de gênero privado; País de cordas privadas; Fumulação booleana privada; public String getName () {Return Name; } public void setName (nome da string) {this.name = name; } public string getPassword () {return senha; } public void setPassword (string senha) {this.password = senha; } public string getJob () {retorna emprego; } public void setJob (String Job) {this.job = Job; } public LocalDate getBirthdate () {return BirthDate; } public void setbirthdate (data de nascimento local) {this.birthdate = datebra de nascimento; } public gênero getGender () {return gênero; } public void setGender (gênero de gênero) {this.gender = gênero; } public string getCountry () {Return country; } public void setCountry (string country) {this.country = country; } public boolean issMaking () {retorna fumando; } public void SetsMaking (fumar booleano) {this.sMaking = fumante; }} ② Classe de enumeração Gênero que representa "gênero":
pacote cn.zifangsky.model; Public Enum Gênero {masculino, feminino;} A seguir, explicará brevemente o formulário Processamento de Springmvc de acordo com o processo de execução do programa, a saber, o formulário de primeiro plano preencher> Processamento do controlador> Página de visualização de resultado do processamento
(2) a página da página inicial e o formulário da página do projeto de teste:
①Home Page Index.jsp:
<% Response.sendRedirect ("form.html"); %>Pode -se observar que nossa página inicial aqui é muito simples, o que é redirecionar para "form.html", mas através da nossa configuração anterior em web.xml, o Springmvc transferirá essa solicitação para um controlador específico para processamento, é claro, é diretamente para a página do formulário. A lógica de processamento específica no controlador será discutida abaixo
②form Formulário Página UserForm.jsp:
<%@ página linguagem = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc", http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> Spring MVC Formulário manuseio </title> </ad Head> <body> <h2> Registro do usuário </h2> <mvc: formulário ModelAttribute = "ACTION =" resultado.html "> Path = "Nome"> Nome: </MVC: Label> </td> <td> <mvc: entus caminho = "name"/> </td> </tr> <tr> <td> <mvc: rótulo <trc: senha "> senha: </mvc: label/td> <td> <mv"> senha ">" <Td> <mvc: rótulo path = "job"> trabalho: </mvc: etiqueta> </td> <td> <mvc: textarea path = "job"/> </td> </tr> <tr> <tpT> <mvc: rótulo = "birthdate"> aniversário: </mv>: /> </td> </tr> <tr> <td> <mvc: rótulo path = "gênero"> gênero: </mvc: etiqueta> </td> <td> <mvc: radiobuttons path = "gênero" itens = "$ {gênero}"/> </td> </tr> PATH = "Country"> Residência: </mvc: etiqueta> </td> <td> <mvc: select path = "country" itens = "$ {países}"/> </td> </tr> <tr> <tbx> <mvc: rótulo de rótulo = "fumando"> fumando? </tr> <tr> <td colspan = "2"> <input type = "submit" value = "submit"/> </td> </tr> </tr> </tabela Como colocamos esta página no diretório Web-Inf, não podemos acessar esse arquivo diretamente através do URL. O "form.html" definido acima deve ser transferido para o controlador para processamento e exibido esta página de exibição. O objetivo disso é impedir que algumas páginas privadas sejam acessadas por outras pessoas sem autorização. No arquivo acima, é importante observar:
(3) Classe do controlador UserController.java para processamento lógico de negócios:
pacote cn.zifangsky.controller; importar org.springframework.stereotype.controller; importar org.springframework.web.bind.annotation.modelattribute; importar org.springframework.web.bind.annotation.requestMapping; importação org.springframework.web.web.web.web.servlet.notation.requestmapping; importação de org.springframew.web.web.web. cn.zifangsky.model.gender; importar cn.zifangsky.model.user; @ControllerPublic Classe UserController {String final estática privada [] países = {"China", "Japão", "Coréia do Norte", "Estados Unidos"}; @RequestMapping (value = "/form.html") public ModelAndView user () {modelAndView ModelAndView = new ModelAndView ("UserForm"); modelAndView.adDObject ("Usuário", novo usuário ()); ModelAndView.adDObject ("Gêneros", gênero.Values ()); ModelAndView.AddObject ("países", países); retornar modelandview; } @RequestMapping (value = "/resultado.html") public ModelAndView ProcessUser (@modelattribute (value = "user") user u) {modelAndView ModelAndView = new ModelAndView ("userResult"); modelAndView.adDObject ("u", u); retornar modelandview; }} Pode -se observar que dois métodos são definidos acima e suas funções devem ser transferidas para o formulário real para a solicitação "form.html" e manipular o formulário. Ao processar o formulário, recebi um tipo de usuário "U" através da anotação @modelattribute, que é o formulário preenchido primeiro, e o seguinte é a exibição do formulário, para que não diga muito
(4) Teste:
① enche no formulário:
② Os resultados mostram:
Página UserResult.jsp:
<%@ página linguagem = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <%@ taglib uri = "http://www.springframework.org/tags/form" prefix = "mvc" <! Html 4.01 transitória // pt "" http://www.w3.org/tr/html4/loose.dtd"><html> <head> <TeTaTa/http-equiv = "content-type"/"text/html; <h2> Resultados do registro </h2> <table> <ttr> <td> Nome: </td> <td> $ {uk nome} </td> </tr> <tr> <td> senha: </td> <td> $ {u.password} </td> </tr> <t> <t> work: {u.password} </td> </trd> <t> {td> </tr> <tr> <td> aniversário: </td> <td> $ {u.birthdate} </td> </tr> <tr> <td> gênero: </td> <td> $ {u.gender} </td> </tr> <t> <td> residência: </td> <td> fumando: </td> <td> $ {U.SMOKING} </td> </tr> </tr> </table> </body> </html>O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.