No artigo anterior, introduzi a explicação detalhada do COI do Spring Learning Notes 1 e tento usar anotações e código Java o máximo possível. Em seguida, este artigo concentra -se na introdução de verificação de dados do formulário de Notas Spring Notes 2 e código de exemplo de upload de arquivos. Para detalhes, consulte este artigo!
1. Verificação de dados do formulário
Ao se registrar, os usuários precisam preencher sua conta, senha, email e número de telefone celular, que são necessários e devem atender a determinados formatos. Por exemplo, a conta precisa ter menos de 32 dígitos, o email deve atender ao formato de email e o número do telefone celular deve ser um número de 11 dígitos, etc. Você pode usar informações de verificação no momento do registro ou escrever uma classe de ferramentas especificamente para verificação; Vamos dar uma olhada em como implementar a verificação de dados do formulário por meio de anotações simples no SpringMVC.
No pacote Javax.validation.Constrans, várias anotações são definidas. por exemplo:
@NotNull: O valor do elemento anotado não deve ser nulo. Nota: Se você não preencher nenhum dado no formulário, isso não significa que seja nulo, mas uma string vazia.
@Size: O elemento anotado deve ser uma string, coleta ou matriz, e o comprimento deve atender ao intervalo fornecido.
@Past: o valor do elemento anotado deve ser um tempo passado.
@Digits: O elemento anotado deve ser um número e seu valor deve ter um número especificado de dígitos.
@Pattern: o valor do elemento anotado deve corresponder à expressão regular fornecida
Além disso, mais anotações são definidas no pacote org.hibernate.validator.constrans. por exemplo:
@EMAIL: Formato de email corresponde.
@Url: corresponda ao formato URL.
Vamos dar uma olhada em como usá -lo no SpringMVC.
1. Primeiro carregue o necessário no arquivo pom.xml
<Depencency> <PuerpId> javax.validação </roupidId> <stifactId> validation-api </artifactId> <versão> 1.1.0.final </version> </dependency> <pendência> <puriDer.sershAct..hibernate </groupid> <stifactId> hibernate-Validator </artiftId.Bernate
Deve -se notar que Javax.Validação define apenas a API de verificação e a implementação da API deve ser adicionada, como org.hibernate.validator, caso contrário, será relatado um erro.
2. Adicione anotações às propriedades da classe, tomando o user.java como exemplo.
Public class O usuário implementa serializável {@size (min = 32, max = 32, message = "uuid deve ser uma string de 32 bits") private string id; @size (min = 1, max = 32, message = "o comprimento da conta deve estar entre 1-32 bit") private string nome de uso; vazio ")@email (message =" email não pode estar vazio ") email de sequência privada; @size (min = 11, max = 11, message =" O comprimento do número de telefone celular é de 11 dígitos ") private String celular;} Mensagem: Se a verificação dos dados do formulário falhar, uma mensagem de erro poderá ser exibida.
3. Aplique a função de verificação no UserController e adicione a anotação @valid.
Tome UserController.java como exemplo:
@Controlador@requestmapping ("/user") public class UserController {private UserService UserService; @AUTOWIDEDPUBLIC UserController (UserService UserService) {this.UserService = UserService;}@requestMapping (value = "/register", método = requestmethod.Post) Aplica a função de verificação se (errors.haserrors ()) {// se a verificação do formulário falhar, retorne à página de registro retornar "registro";} if (user.getId () == "") user.setId (uuid.randomuuid (). Date (). Gettime ()); userService.adduser (usuário); redirecionar:/user/" + user.getUserName ();}} 4. Escreva um arquivo JSP e exiba a página, tomando o registro.jsp como exemplo:
<%@ página contenttype = "text/html; charset = utf-8" idioma = "java"%> <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix = "sf" uri = "http://www.springframework.org/tags/form" %> < %@ página session = "false" %> <html lang = "en"> <head> <title> registre </title> <link Rel = "StyleSheet" type = "text/css" href = "<c: ur =" styles "type =" text/css "href =" <c: "c:" >/Head> <Body> <sf: form method = "post" action = "/Register/User/Register" CommandName = "User"> <%-Se a verificação dos dados do formulário falhar, a mensagem de erro é exibida-%> <sf: errrors Path = "*" "" Center = "Div" CSSCLASS = "Errors"/> <Br/> <table align = "Center =" Center = "Center =" Center "> <fr" CSSCLASS = " </td> <td> <sf: entrada de caminho = "nome de usuário" csserrorclass = "erros"/> </td> <tr> <td> senha: </td> <td> <sf: senha </td = "senha" csserrorclass = "errors"/</td> </tr> Path = "email" csserrorclass = "erros"/> </td> </tr> <tr> <td> celular: </td> <td> <sf: entrada de entrada = "celular" csserrorclass = "erros"/> </td> </tr> </tabela> <Br/> value = "Register"/> </sf: form> </body> </html>
O efeito final é o seguinte:
2. Upload de arquivo
Na primavera, o upload de arquivos é simples e leva apenas 3 etapas.
1. Se o DispartcherServlet, configuramos o AbstractAnnotationConfigDispatcherServletIlitializer, sobrecarregue o método CustomizeRegistration () para configurar os detalhes específicos do multipartimento.
@OverrideProtected Void Customizeregistration (ServletRegistration.dynamic Registration) {// Limite o tamanho do arquivo carregado a não mais que 2 MB, a solicitação inteira não excede 4M e todos os arquivos de 40 anos de 31 anos, e o novo 80101010, e os arquivos de 40 anos e o upload30101010, e os arquivos de 40 anos e a upload301015, e os arquivos de 40 anos, e os arquivos de 40 anos, e os arquivos de 40 anos e são os níveis de 40 anos, e todos os anos de 90, e todos os anos de 5m, e os arquivos de 40 anos e são os níveis de 4m, e os arquivos de 40 anos e os níveis de 40 anos e os arquivos de 40 anos são gravados. 0));} 2. Configure o analisador multipart.
// Configurar resolvedor de multipart @beanpublic multipartresolver multipartresolver () lança ioexception {return new StandardServletMultipartResolver ();} 3. Solicitação de multipartidário de processo. Para obter informações como arquivos enviados pelos usuários, você pode usar a matriz byte [] para representá -la, mas é recomendável que a interface multipart -arquivo fornecida pelo Spring seja recomendada. Ele fornece mais funções, como obter o nome do arquivo, tamanho do arquivo, tipo de arquivo, etc.
@RequestMapping(value = "/{username}", method = RequestMethod.POST)public String showUserInfo(@RequestPart("icon") MultipartFile icon) throws IOException {icon.transferTo(new File("/Users/pingping/Projects/IdeaProjects/spring/register/src/main/webapp/uploads/" + icon.getoriginalfilename ())); retorna "usuário";} Método Transferto (Arquivo Dest): Escreva arquivos no sistema.
Escreva um teste de página para ver se o arquivo no diretório de arquivos especificado foi enviado com sucesso.
<form method = "post" ENCTYPE = "Multipart/form-Data"> <Boel> Faça upload da imagem do avatar?
1. Referências: prática prática da primavera (4ª edição).
2. Endereço do github: https://github.com/everseeker0307/register.
O exposto acima é o código de verificação de dados do formulário e o código de upload de arquivos do Spring Learning Notes 2 Introduzido a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!