zoukankan      html  css  js  c++  java
  • 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);
                            });
                        }
                    });
                });
    });


  • 相关阅读:
    firstresponder 后,键盘不显示
    performSelector
    setNeedsDisplay、setNeedsLayout 区别
    Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
    GCD介绍(一):基本概念和dispatch queues
    一些概念
    /mnt/sdcard /sdcard
    eclipse 导入已存在的工程文件出错
    ios 常用技巧
    ios nsstring去掉换行符
  • 原文地址:https://www.cnblogs.com/wyang0126/p/5039924.html
Copyright © 2011-2022 走看看