struts.xml
<package name="ajax" extends="struts-default" namespace="/ajax">
<action name="login" class="com.ajax.Login">
</action>
</package>
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<sx:head />
<script type="text/javascript">
var xhr = false;
function createXhr() {
try {
xhr = new ActiveXObject("msxm12.XMLHTTP");
} catch (e1) {
try {
xhr = new ActiveXObject("microsoft.XMLHTTP");
} catch (e2) {
try {
xhr = new XMLHttpRequest();
} catch (e3) {
xhr = false;
}
}
}
}
function sendRequest() {
createXhr();
if (xhr) {
var name = document.getElementById("name").value;
var pass = document.getElementById("pass").value;
var uri = "http://localhost:8080/struts2demo/ajax/login.action?name="
+ name + "&pass=" + pass;
xhr.open("GET", uri, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
};
xhr.send(null);
}
}
</script>
</head>
<body>
<center>
Name:<input type="text" id="name" /> <br /> Pass:<input type="text"
id="pass" /> <br /> <input type="button" value="ok"
οnclick="sendRequest();" />
</center>
</body>
</html>
Login.java
package com.ajax;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport {
private String name;
private String pass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
private static final long serialVersionUID = 1L;
public String execute() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().println("success");
if (name.equals("tom")) {
response.getWriter().println("welcome login!");
} else {
response.getWriter().println("error,please input again!");
}
return null;
}
}