struts2+jquery实现ajax登陆实例详解
文本仪一个实例讲述了struts2+jquery实现ajax登陆的实现方法,具体步骤如下:
一、新建一个web项目,取名test。配置好struts2的环境,并导入Jquery的js文件到该项目。
二、在com.action包下,新建一个loginAction.java
loginAction.java的代码如下
packagecom.action;
importorg.apache.struts2.convention.annotation.Action;
importorg.apache.struts2.convention.annotation.ParentPackage;
importorg.apache.struts2.convention.annotation.Result;
importorg.apache.struts2.convention.annotation.Results;
importcom.opensymphony.xwork2.ActionSupport;
@Action("login")
@ParentPackage(value="json-default")
@Results({@Result(name="success",type="json",params={"data","flag"}),})
publicclassLoginActionextendsActionSupport{
/**
*
*/
privatestaticfinallongserialVersionUID=1751244794407005783L;
privateStringflag;
privateStringusername;
privateStringpassword;
publicStringexecute(){
try{
if(getUsername()==null||getUsername().trim().equals("")){
setFlag("用户名不能为空");
returnSUCCESS;
}elseif(getPassword()==null||getPassword().trim().equals("")){
setFlag("密码不能为空");
returnSUCCESS;
}elseif(getUsername().trim().equals("admin")
&&getPassword().equals("admin")){
setFlag("登陆成功");
returnSUCCESS;
}else{
setFlag("用户名或密码错误");
returnSUCCESS;
}
}catch(Exceptione){
e.printStackTrace();
setFlag("登陆异常");
returnSUCCESS;
}
}
publicStringgetFlag(){
returnflag;
}
publicvoidsetFlag(Stringflag){
this.flag=flag;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
}
三、在WebRoot目录下新建index.jsp和success.jsp
index.jsp为登陆界面,success.jsp为登陆成功后跳转的界面。
index.jsp内容如下:
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>"rel="externalnofollow">
<title>MyJSP'index.jsp'startingpage</title>
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache">
<metahttp-equiv="expires"content="0">
<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp-equiv="description"content="Thisismypage">
<scripttype="text/javascript"src="./resource/js/jquery.min.js"></script>
</head>
<scripttype="text/javascript">
$(document).ready(function(){
$(".loginButton").click(function(){
varname=$("#username").val();//获取登陆用户名
varpassword=$("#password").val();//获取登陆密码
$.post("login",{
username:name,
password:password
},callback,"json");
});
functioncallback(data){
varvalue=data.flag;
if(value=="登陆成功"){
location.href="./success.jsp"rel="externalnofollow";
}else{
alert(value);
}
});
</script>
<body>
<inputname="username"id="username"type="text"/>
<inputname="password"id="password"type="password"/>
<buttonclass="loginButton"class="btnbtn-inverse">登陆</button>
</body>
</html>