Prefácio
A verificação de dados é uma tarefa que quase todo aplicativo precisa realizar. Os dados inseridos pelo usuário são enviados para o servidor. Deus sabe se os dados inseridos pelo usuário são legais e se são maliciosos. Portanto, um sistema de aplicação robusto deve verificar a entrada do usuário, bloquear insumos ilegais fora do aplicativo e impedir que esses insumos ilegais digitem no sistema, garantindo assim a estabilidade e a segurança do sistema.
Todos sabemos que, para uma melhor experiência do usuário e maior eficiência, os aplicativos atuais da Web têm as duas verificações de dados a seguir:
A verificação de dados do cliente é feita principalmente através do código JavaScript; A verificação de dados do lado do servidor é a última linha de defesa para todo o aplicativo para bloquear dados ilegais e é implementado principalmente por meio de programação no aplicativo.
Para reduzir a carga de trabalho dos desenvolvedores e melhorar a eficiência do trabalho, a estrutura do STRUTS2 também se esforçou muito na verificação de dados. Então, como o Struts2 completa a verificação de dados? (Como a capacidade de verificação do cliente da estrutura STRUTS2 é fraca, ela não será resumida. Este artigo resume principalmente a função de verificação de dados do lado do servidor da estrutura do Struts2)
Escreva arquivos de regras de verificação
Todos sabemos que a verificação de dados é todo o código complicado. Para sair desses códigos complicados, a estrutura STRUTS2 fornece verificação de dados com base em arquivos de configuração. Requer apenas gravar um arquivo de regra de verificação. O arquivo de regra de verificação especifica quais regras devem se reunir.
Vamos falar sobre a verificação de entrada da estrutura do Struts2 por meio de um exemplo de demonstração.
Página da recepção:
<corpo> <formulário action = "login" método = "post"> nome de usuário: <input type = "text" name = "name" /> <s: fielderror fieldname = "name" /> <br> senha: <input type = "senha" name = "senha" /> <s: fielderror) FieldName = "AGE" /> <br> Aniversário: <input type = "text" name = "aniversário" /> <s: fielderror fieldname = "aniversário" /> <br> <input type = "submit" value = "submit" /> < /form> < /body>
Código de processamento de ação em segundo plano:
classe pública LoginAction estende o ACTIONSupport {private String Name; senha de sequência privada; private Int Age; aniversário privado; dica de corda privada; public void setName (nome da string) {this.name = name; } public string getName () {return name; } public void setPassword (string senha) {this.password = senha; } public string getPassword () {return senha; } public void setage (int Age) {this.age = Age; } public int getage () {Age de retorno; } public void setbirthday (data de aniversário) {this.birthday = aniversário; } public data getBirthday () {return Birthday; } public void Settip (dica da string) {this.tip = tip; } public string getTip () {return tip; } public string Execute () lança Exceção {// A operação é simplificada aqui. sucesso de sucesso; }}Através do código de ação acima, podemos ver que não adicionei nenhum código de verificação de campo, mas precisamos apenas escrever um arquivo de verificação, como segue:
<? xml versão = "1.0" coding = "utf-8"?> <!-Especifique as informações do DTD do arquivo de configuração de verificação-> <! Elemento raiz do arquivo de verificação-> <Dalidators> <!-Verifique o atributo Nome do arquivo de configuração de verificação-> <Nome do campo = "Nome"> <!-Especifique o atributo Nome deve atender às regras necessárias-> <field-validador tipo = "Nome requerir"> <param name = "Trim"> </param> <magess> Nome deve ser preenchido <//" -> <campo-validador tipo = "regex"> <param name = "regexExpression"> <! [CDATA [(/w {4,25})]]> </amul> <ssage> o nome de usuário que você inseria pode ser apenas letters e números, e o comprimento deve estar entre 4 e 25 </Message> </field-validador> <field-validator type = "requerirstring"> <param name = "TRIM"> true </param> <message> senha deve ser inserida </mession> </field-validator> <field-validator type = "regex"> <param name = "regexexpression"> <! [CDATA [(W {4,25})]]]] <! the length must be between 4 and 25</message> </field-validator> </field> <!-- Verify the age attribute of the Action--> <field name="age"> <field-validator type="int"> <param name="min">1</param> <param name="max">150</param> <message>Age must be between 1 and 150</message> </field-validator> </field> <!-- Verify A propriedade de aniversário da ação-> <nome do campo = "aniversário"> <campo-validador type = "date"> <param name = "min"> 1900-01-01 </param> <param name = "max"> 2050-02-21 </param> <stess> <mensty> deve estar entre $ {min} e $ {max} </- Field> </field> </-field>As regras do arquivo de verificação do STRUTS2 são diferentes do método de design do arquivo de verificação do Struts1. Cada ação no STRUTS2 possui um arquivo de verificação; portanto, o nome do arquivo do arquivo de verificação deve cumprir as seguintes regras:
<Nome da ação> -Validation.xml
O nome da ação anterior pode ser alterado, a parte subsequente -Validation.xml é sempre corrigida e o arquivo de verificação deve ser salvo no mesmo caminho que o arquivo da classe de ação.
Semelhante à falha de conversão do tipo, quando a verificação de entrada falha, o STRUTS2 também retorna automaticamente um resultado chamado "entrada", por isso é necessário configurar um resultado denominado "entrada" no arquivo struts.xml.
Informações imediatas de internacionalização
Em caso de falha de verificação, o usuário precisa ser solicitado para mensagens de erro. Então agora surge um problema. Em um ambiente de vários idiomas, como solicitar corretamente as informações de prompt de linguagem correspondentes? Não é possível escrevê -lo diretamente no arquivo de verificação, como acima. Para as informações promissoras de internacionalização, especifique o atributo chave para o elemento de mensagem, que especifica a chave correspondente às informações promissoras de internacionalização.
Por exemplo, o arquivo de verificação acima pode ser escrito como este:
<!-Verifique o atributo Nome da ação-> <Nome do campo = "Nome"> <!-O atributo de nome especificado deve atender às regras necessárias-> <campo-validador tipo = "requerirstring"> <param name = "Trim"> True </param> <message Key = "Name.Required"/> Retristador> Explorato> <!-Nome <! name = "regexexpression"> <! [CDATA [(/w {4,25})]]> </am> <message key = "name.regex"/> </field-validator> </field>Verificador embutido
No arquivo de verificação acima, você pode ver essa declaração:
<field-validator type = "requerirstring"> <field-validador type = "regex"> ...
O valor do atributo de tipo aqui é o verificador. Há um grande número de dispositivos de verificação internos fornecidos na estrutura do Struts2. Esses dispositivos de verificação internos podem atender às necessidades de verificação da maioria dos aplicativos. Precisamos apenas usar esses dispositivos de verificação.
Podemos usar a ferramenta de descompressão para abrir o arquivo xwork-core-2.3.24.1.jar. Sob o caminho XWORK-CORE-2.3.24.1.JAR/COM/OpenSymphony/xWork2/Validator/Validators, podemos encontrar um arquivo padrão.xml. Este arquivo é o arquivo de registro de dispositivo de verificação padrão para o Struts2, e o conteúdo é o seguinte:
<? xml versão = "1.0" Encoding = "utf-8"?> <! Verificador-> <Validator name = "Requerir"/> <Nome do validador = "Necessário"/> <!-Verificador Inteiro-> <Nome do Validador = "Int"/> <!-Verificador Inteiro Longo-> <Nome do Nome do Validador = "Longo"/> <!-Inteiros curto-> <dalator name = ""/> <! Verifier-> <Validator name = "date"/> <!-Expression Verifier-> <Validator name = "Expression"/> <!-Verificador de expressão de campo-> <nome do validador = "fieldExpression"/> <!-e-mail verifier-> <validator name = "email"/!-url verificador-> <dalator name = "" url "/") <names> <nome do names> <dalator> "names> <names>" names> <dalator> "names>" names> "name"/") <names> <dalator>" name ""/"-name"/! <Validator name = "conversão"/> <name do validador = "conversão"/> <nome do validador = "stringLength"/> <nome do validador = "regex"/> <nome do validador = "condicionalVisitor"/> </validators> <!-snippet final: validadores-Default->
Em relação ao uso específico desses dispositivos de verificação, não darei exemplos aqui.
Resumir
Este artigo resume brevemente os dispositivos de verificação na estrutura STRUTS2. O básico para os dispositivos de verificação mencionados aqui são como usá -los. O mais importante é dominar a idéia dos dispositivos de verificação do Struts2 e completá -los através da configuração. Vale a pena aprender este método. Em nossa aprendizagem de outras estruturas, também encontraremos esse método. Estudo, dor e felicidade.
Ok, o acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.