1、首先要导入struts2的8个包,再导入struts2整合JSON的包,再导入JQ的包
2、配置过滤器
3、编写ajax.jsp,传数据给后台
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>AJAX在jQuery中的使用</title>
<metahttp-equiv="pragma"content="no-cache">
<metahttp-equiv="cache-control"content="no-cache">
<metahttp-equiv="expires"content="0">
<scripttype="text/javascript"src="jquery-1.11.1.js"></script>
<scripttype="text/javascript">
$(document).ready(function(){
//为提交按钮添加点击事件
$(":submit").click(function(){
//获取用户输入的数据
varname=$(":text[name='user.name']").val();
varpassword=$(":password[name='user.password']").val();
/**
* 参数一:要去的路径
* 参数二:要提交的内容,以JSON格式提交
* 参数三:处理回传的数据
* 参数四:以哪种格式显示,默认htlm
*/
//get方式提交
/* $.get(
"<c:url value='ajax'/>",
{"user.name":name,"user.password":password},
function(data){
alert(data);
},
"json"
); */
$.post(
"<c:url value='ajax'/>",
{"user.name":name,"user.password":password},
function(data){
alert(data.success);
},
"json"
);
});
});
</script>
</head>
<body>
用户名:<inputtype="text"name="user.name"/><br>
密码:<inputtype="password"name="user.password"/><br>
<inputtype="submit"value="提交"/>
</body>
</html>
4、编写实体类
publicclassUser {
privateStringname;
privateStringpassword;
}
5、编写Action类
packagestar.july.web;
importjava.util.HashMap;
importjava.util.Map;
importstar.july.entity.User;
importcom.opensymphony.xwork2.ActionContext;
importcom.opensymphony.xwork2.ActionSupport;
publicclassAjaxActionextendsActionSupport{
Useruser;
publicUser getUser() {
returnuser;
}
publicvoidsetUser(User user) {
this.user= user;
}
publicString getInfo()throwsException{
//设计一个Map,用于存放返回浏览器的数据
Map<String,Object> data =newHashMap<String,Object>();
ActionContext ac = ActionContext.getContext();
//接收参数
String name =user.getName();
String password =user.getPassword();
System.out.println(name+":"+password);
//转码
name =newString(name.getBytes("ISO-8859-1"),"utf-8");
Mapsession = ac.getSession();
//做判断
if(user.getName().equals("小火")&&user.getPassword().equals("123456")){
// if(name.equals("小火")&&password.equals("123456")){ //用这个方法不可以,name的值为??
System.out.println("对的!");
//存放数据进session
session.put("Info", name+user.getPassword());
data.put("success",true);
}else{
System.out.println("错了的!");
data.put("success",false);
}
ac.put("data", data);
returnSUCCESS;
}
}
6、编写struts.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<packagename="default"extends="json-default"namespace="/">
<actionname="ajax"class="star.july.web.AjaxAction"method="getInfo">
<resulttype="json">
<paramname="root">#data</param>
</result>
</action>
</package>
</struts>