struts2-ajax-传递list集合

顺便提下,struts2 Action中的方法不要以get开头命名,否则这个方法会执行两次的

先贴上struts.xml

	<package name="demo3" extends="json-default" namespace="/demo3">
		<action name="*_*" class="com.lan.action.json.{1}Action"
			method="{2}" >
			<result name="success" type="json"></result>
		</action>
	</package>

贴上action

package com.lan.action.json;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.json.annotations.JSON;

import com.lan.Bean.Person;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.inject.Scoped;

/**
 * Struts2-Json 返回一个list
 * 
 * @author wy
 * 
 */

public class Demo3Action extends ActionSupport {
	
	private List<Person> persons = new ArrayList<Person>();

	private String type;

	public String gainList() {
		Person p1 = new Person("ABC", 10, "M");
		Person p2 = new Person("DEF", 20, "F");
		Person p3 = new Person("XYZ", 30, "M");
		persons.add(p1);
		persons.add(p2);
		persons.add(p3);
		System.out.println(persons.size());
		return SUCCESS;
	}

	@JSON
	public List<Person> getPersons() {
		return persons;
	}

	public void setPersons(List<Person> persons) {
		this.persons = persons;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
}
贴上js

/*
 * ajax list對象
 */
//load
$(function() {
    $("#list").load("demo3/Demo3_gainList.action", {}, function() {
    });
});
// post
$(function() {
    $("#button-list-001").click(
            function() {
                $.post("demo3/Demo3_gainList.action", {
                    type : "post"
                }, function(data) {
                    $("#list-type").html(data.type);
                    $.each(data.persons, function(i, list) {
                        var v_tr = "<tr> <td>" + list.name + "</td><td>"
                                + list.age + "</td><td>" + list.sex
                                + "</td></tr>";
                        $("#list-table").append(v_tr);
                    });
                });
            });
});
// get
$(function() {
    $("#button-list-002").click(
            function() {
                $.get("demo3/Demo3_gainList.action", {
                    type : "get"
                }, function(data) {
                    $("#list-type").html(data.type);
                    $.each(data.persons, function(i, list) {
                        var v_tr = "<tr> <td>" + list.name + "</td><td>"
                                + list.age + "</td><td>" + list.sex
                                + "</td></tr>";
                        $("#list-table").append(v_tr);
                    });
                });
            });
});
// ajax
$(function() {
    $("#button-list-003").click(
            function() {
                $.ajax({
                    url : "demo3/Demo3_gainList.action",
                    type : "post",
                    data : "type=" + "ajax",
                    dataType : "JSON",
                    success : function(data) {
                        $("#list-type").html(data.type);
                        $.each(data.persons, function(i, list) {
                            var v_tr = "<tr> <td>" + list.name + "</td><td>"
                                    + list.age + "</td><td>" + list.sex
                                    + "</td></tr>";
                            $("#list-table").append(v_tr);
                        });
                    }
                });
            });
});


转载于:https://www.cnblogs.com/wyang0126/p/5039924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值