首页 > 编程 > JSP > 正文

详解struts2+jquery实现ajax登陆实例

2024-09-05 00:18:37
字体:
来源:转载
供稿:网友

Struts2是优秀的MVC框架,结合Ajax,用户会有很好的体验。今天错新技术频道小编将模拟一个简单的登录操作来实现Ajax异步请求,本文是错新技术频道小编为大家搜集的详解struts2+jquery实现ajax登陆实例。

一、新建一个web项目,取名test。配置好struts2的环境,并导入Jquery的js文件到该项目。

二、在com.action包下,新建一个loginAction.java

loginAction.java的代码如下

package com.action;import org.apache.struts2.convention.annotation.Action;import org.apache.struts2.convention.annotation.ParentPackage;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;import com.opensymphony.xwork2.ActionSupport;@Action("login")@ParentPackage(value = "json-default")@Results({ @Result(name = "success", type = "json", params = { "data", "flag" }), })public class LoginAction extends ActionSupport {  /**   *    */  private static final long serialVersionUID = 1751244794407005783L;  private String flag;  private String username;  private String password;  public String execute() {    try {      if (getUsername() == null || getUsername().trim().equals("")) {        setFlag("用户名不能为空");        return SUCCESS;      } else if (getPassword() == null || getPassword().trim().equals("")) {        setFlag("密码不能为空");        return SUCCESS;      } else if (getUsername().trim().equals("admin")          && getPassword().equals("admin")) {        setFlag("登陆成功");        return SUCCESS;      } else {        setFlag("用户名或密码错误");        return SUCCESS;      }    } catch (Exception e) {      e.printStackTrace();      setFlag("登陆异常");      return SUCCESS;    }  }  public String getFlag() {    return flag;  }  public void setFlag(String flag) {    this.flag = flag;  }  public String getPassword() {    return password;  }  public void setPassword(String password) {    this.password = password;  }  public String getUsername() {    return username;  }  public void setUsername(String username) {    this.username = username;  }}

三、在WebRoot目录下新建index.jsp和success.jsp

index.jsp为登陆界面,success.jsp为登陆成功后跳转的界面。

index.jsp内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%  String path = request.getContextPath();  String basePath = request.getScheme() + "://"      + request.getServerName() + ":" + request.getServerPort()      + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>" rel="external nofollow" ><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><script type="text/javascript" src="./resource/js/jquery.min.js"></script></head><script type="text/javascript">  $(document).ready(function() {    $(".loginButton").click(function() {      var name = $("#username").val();//获取登陆用户名      var password = $("#password").val(); //获取登陆密码      $.post("login", {        username : name,        password : password      }, callback, "json");    });    function callback(data) {      var value=data.flag;      if(value=="登陆成功"){      location.href="./success.jsp" rel="external nofollow" ;      }else{       alert(value);    }  });</script><body>  <input name="username" id="username" type="text" />  <input name="password" id="password" type="password" />  <button class="loginButton" class="btn btn-inverse">登陆</button></body></html>

好啦,以上就是错新技术频道小编给大家分享的详解struts2+jquery实现ajax登陆实例的相关内容,我们按以上步骤完成操作后,就可以实现了。 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表