struts2+jquery 实现ajax登陆

一、新建一个web项目:test,配置好struts2的环境(详细配置见:http://www.cnblogs.com/wuweidu/p/3841297.html)

      导入Jquery的js文件到项目

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

struts2+jquery 实现ajax登陆

 

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%>">



<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";

            }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)