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登陆实例的相关内容,我们按以上步骤完成操作后,就可以实现了。
新闻热点
疑难解答