Primeiro, vamos postar o ambiente correspondente:
Configuração:
Eclipse4.3.2
JDK1.7_45
MySQL 5.0+
Então chegue ao ponto:
1. Login.jsp
Principalmente, você pode usar a tag OGNL ou usar o formulário HTML para chamar LoginAction.action e transmiti -lo no Post.
Após o julgamento no LoginaAction, haverá uma mensagem rápida, que precisa ser exibida usando <s: fielderror/>.
<%@ taglib uri = "/struts-tags" prefix = "s"%> <! Doctype html public "-// w3c // dtd html 4.01 transitório //" "http://www.ww.org/tr/html >/loose.dtd.dtp://www.ww.org/tr/html4/loose.dtd.dtp://ww.ww.org/tr/html >/loose.dtd.dtp://www.ww.org/tr/html4/loose.dtd"> http-equiv = "content-type" content = "text/html; charset = utf-8"> <title> login </title> </head> <body> <Center>, por favor, faça o login <!-this.addactionError ("nome de usuário ou senha está incorreto!"); Ação As informações de exibição definidas no HTML devem fazer referência à expressão de Ognl-> <S: ActionError /> <%-<S: Fielderror />-%> <S: Form Action = "LoginAction.action" Method = "Post"> <S: Label Value = "Username:" /> <S: Textfield Name = "Username" /> <r. name = "userpwd" /> <r /> <s: enviar valor = "loginaction" /> < /s: form> < /central> < /body> 2 struts.xml
Configuração <br /> O espaço para nome é " /", herdar "Struts-Default"
Login com sucesso, pule para index.jsp
O login falhou, o login.jsp será devolvido
<pre name="code"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- The Struts2 OGNL tag is used by padrão. O STRUTS2 será processado e será mais formatado. If you do not refer to it, you can add this property --> <constant name="struts.ui.theme" value="simple" /> <package name="default" namespace="/" extends="struts-default"> <action name="LoginAction"> <result name="success">/index.jsp</result> <result name="input">/login.jsp</result> </action> </package> </truts>
3. LoginAction.java
LoginAction
Herdar o método de suporte de ação e substituir os métodos Execute () e Validate ():
O método executado chama o valor do banco de dados chamado do fundo
O método Validate é usado para determinar se o nome do usuário e a entrada de senha estão vazios e lembram que o método é chamado no login.jsp. Você pode ligar para as informações de configuração diretamente por padrão, sem defini -las, a menos que você as defina em strtus.xml.
pacote com.tikitoo.action; importação com.opensymphony.xwork2.actionsupport; importar com.tikitoo.service.userinfoservice; importar com.tikitoo.service.userinfoserviceImpl; / ** * @author tikitoo1 * @see com.opensymphony.xwork2.actionupport * @see com.opensymphony.xwork2.actionupport * */ public class LoginAction estende o ACTIONSupport {STATIC STATIC Final Long Serialversion / *** Struts2 Método de chamada padrão* @return struts2 Resultado Valor de retorno*/ @Override public String Execute () lança Exceção {userInfoservice userInfoservice = new UserInfoserviceImpl (); bandeira booleana = userInfoservice.LoginByUsernameAndUSERPWD (nome de usuário, userPwd); String msg = ""; if (flag == true) {this.addfielderror ("true", "login com sucesso"); msg = "sucesso"; } else {this.addfieldnerror ("nome de usuário ou senha está incorreto!"); msg = "entrada"; } retornar msg; } // Execute () END/ *** Verificação de login* Reescreva o método do ACTIONSupport*/ @Override public void validate () {// Determine se o nome do usuário está vazio se (getUserName () == null || "" .Equals (getUsername (). } // Determine se a senha está vazia se (getUserpwd () == null || "" .equals (getUserpwd (). TRIM ())) {this.addfielderror ("userpwd", "senha não pode estar vazia"); }} // Validate () End Private String Dip; public String getTip () {Return Tip; } nome de usuário de string privado; String privada Userpwd; public String getUserName () {return Username; } public void setUserName (string userName) {this.username = nome de usuário; } public string getUserpwd () {return userpwd; } public void setUserpwd (string userpwd) {this.userpwd = userpwd; }}O nome de usuário e a senha são inseridos incorretamente:
Se o nome de usuário for inserido corretamente, o login será bem -sucedido:
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.