index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>获取</title>
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
function loadInfo() {
$("#info").load("ajax/ajaxAction");
}
</script>
</head>
<body>
<input type="button" value="获取" id="btnGet" οnclick="loadInfo()" />
<div id="info"></div>
</body>
</html>
AjaxAction:
package ajax.demo;
import java.util.ArrayList;
import java.util.List;
import ajax.model.User;
import com.opensymphony.xwork2.ActionSupport;
public class AjaxAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
User user1 = new User();
User user2 = new User();
private List<User> users = new ArrayList<User>();
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
private String mydata;
public String getMydata() {
return mydata;
}
public void setMydata(String mydata) {
this.mydata = mydata;
}
public String loadInfo(){
mydata = "這是我的数据";
user1.setName("潘俊");
user1.setSex("男");
user2.setName("panjone");
user2.setSex("male");
users.add(user1);
users.add(user2);
return SUCCESS;
}
}
struts.xml:
<package name="ajax" extends="json-default">
<action name="ajaxAction" class="ajax.demo.AjaxAction" method="loadInfo">
<result name="success" type="json"></result>
</action>
</package>
结果:
{"mydata":"這是我的数据","users":[{"name":"潘俊","sex":"男"},{"name":"panjone","sex":"male"}]}