1. Existe um método Validate () em Actionsupport. Este método é um método de verificação. Ele será executado antes que o método execute () seja executado, para que possa desempenhar um bom papel na verificação.
@Override // Reescreva o método validate () em ação public void validate () {if (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ("userName Invadate");}} um. Se a verificação falhar, podemos chamar AddActionError ("mensagem de erro"); Dessa forma, a mensagem de erro será salva.
Depois que todo o método Validate for executado, o sistema verificará automaticamente a página JSP correspondente a nome = "entrada". Geralmente é recomendável pular para a página que registramos, ou seja, de onde viemos e para onde vamos
/RegisterResult.jsp/register.jsp
b. Então somos registring.jsp
Ou seja, adicione esta tag Struts2 à página de registro inicial
<s: actionError cssstyle = "cor: vermelho"/>
O significado é: se houver uma mensagem de erro, ou seja, o ActionError existe, em seguida, produza esta mensagem de erro.
Além disso, podemos definir as tags para CSS
// Observe que o uso de tags STRUTS2 deve introduzir tags no arquivo de cabeçalho: < %@ taglib prefix = "s" uri = "/struts-tags" %>
c.
Uma maneira de comparar datas:
Brithday e Graduate são tipos de data
if (null! = aniversário && null! = graduation) {calendário c1 = calendar.getInstance (); c1.setTime (aniversário); calendário c2 = calendar.getInstance (); c2.Amttime (graduação); se (!2. Nível de ação e nível de campo. Dessa forma, podemos adicionar a níveis diferentes ao adicionar erros, e podemos ser mais flexíveis ao solicitar mensagens de erro, sem adicionar todas as informações ao nível de ação, todas as informações serão exibidas da mesma forma. Por exemplo: precisamos usar fontes vermelhas para representar a mensagem de erro de erros de senha repetidos, enquanto outras informações, como nome de usuário, idade etc., são representadas em fontes verdes. No momento, você pode adicioná -lo a níveis diferentes usando -o.
Na página de registro, basta escrever uma tag de nível de campo. do seguinte modo:
<s: actionError cssstyle = "cor: vermelho" // Nível de ação <s: fielderror cssstyle = "cor: azul"> </s: fielderror> // nível de campo public void validate () {if (null == this.UserName || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ("nome de usuário invasor"); // Adicionar mensagem de erro ao nível de ação ");3. Depois de enviar um erro, as informações originais serão exibidas no formulário.
<s: formulário Action = "RegisterAction"> <S: TextField Name = "UserName" Label = "UserName"> </s: textfield> <s: senha name = "senha" Label = "senha"> </s: senha> <s: textfield name = "Repassword" Label = "Repass"> </s: senha> <S <S: Textfield "Age" Age "Age" Age "Age" = "Age" = " Label = "Brithday"> </s: textfield> <s: textfield name = "gradate" etc.
Usando a tag STRUTS2, ela pode digitar automaticamente e exibir as informações de nível de campo incorretas, como mostrado abaixo.
4. No entanto, embora esse método de usar automaticamente as tabelas para digitar seja conveniente, ele não atende às nossas necessidades em muitos casos, para que possamos usar o tipo de linha personalizado.
Método 2: Defina o método de layout para simples, para que possamos digitar -o no método HTML.
Os erros no nível do campo não serão exibidos automaticamente.
<s: formulário Action = "RegisterAction" tema = "simples"> <br/> nome de usuário: <s: textfield name = "username" etc. Rótulo = "Repassword"> </s: senha> <br/> Idade: <s: textfield name = "Age" Label = "Age"> </s: textfield> <br/> Aniversário: <s: textfield name = "aniversário" etc. value = "submeter"> </s: envie> </s: form>
5. Para segurança, o Struts é enviado no Post quando nenhum método é definido, o que é mais seguro.
6. Se o valor de entrada não estiver em conformidade com o método, por exemplo, a idade é do tipo int e a entrada é do tipo de sequência, o sistema julgará e adicionará o valor inválido do campo para o campo "idade" ao nível do campo. A informação é a seguinte:
Processo de execução:
1) Primeiro execute a conversão de tipo
2) Em seguida, execute a validação de entrada (execute o método Validate)
3) Se ocorrer algum erro no processo acima, o método Execute não será executado novamente. A página recorrerá para a página em struts.xml cujo nome é o resultado correspondente à entrada.
8. Implementação do método addacientError () de ação da ação: primeiro crie um objeto ArrayList e adicione uma mensagem de erro ao objeto ArrayList.
9. Quando o método getActionErrors () é chamado para retornar uma lista de mensagens de erro no nível de ação, o retorno é na verdade uma cópia da coleção e não da própria coleção. Portanto, os elementos da cópia ainda são limpos chamando o método clear () na cópia da coleção, em vez dos elementos da coleção original. No momento, o conteúdo da coleção original não recebeu nenhum impacto. Em outras palavras, as listas de mensagens de erro no nível da ação são legíveis para os desenvolvedores, mas não graváveis
Se você deseja excluir a mensagem de erro após validar e deixá -la executar o método Execute, mesmo se houver uma mensagem de erro, você pode chamar isso.ClearallActionalErrors () ou this.ClearallFielderrors () Método
10. A mensagem de erro subjacente no nível FielderRor é implementada através do LinkedHashMap. A chave do mapa é o tipo de string e o valor é list <string> tipo. Isso significa que um nome de campo pode corresponder a várias mensagens de erro, e essas mensagens de erro são colocadas na coleção Lista <String>. Assim, existem várias mensagens de erro para alcançar o mesmo erro
O acima exposto é uma explicação detalhada do método de verificação usado para inserir validate () em struts introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!