struts2.0 + jquery + json(转)


创建实体Bean User:
public class User {

    private String name;
   
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


创建action (省略getter setter 方法):
public class JsonAction extends ActionSupport {


    private static final long serialVersionUID = 1L;
   
    private User user;
   
    private String result;

   
    public String myTest() throws Exception {
   
        JSONObject jo = JSONObject.fromObject(this.user);
       
        System.out.println(jo);
       
        this.result = jo.toString();
       
        return this.SUCCESS;
    }




配置xml:
    <package name="ttt" extends="json-default">
        <action name="jsonAction" class="action.JsonAction" method="myTest">
            <result type="json">
                <param name="root"><!--配置返回参数-->
                    result
                </param>
            </result>
        </action>
    </package>



jsp界面:
        <div id="result"></div>
        <s:textfield label="用户名" name="user.name" />
        <s:textfield label="年龄" name="user.age" />
        <button>提交</button>

js事件:

$(document).ready(function() {


// 直接把onclick事件写在了JS中

$("button").click(function() {

// 序列化表单的值

var params = $("input").serialize();

//alert(params);

$.ajax({


// 后台处理程序

url : "jsonAction.action",


// 数据发送方式

type : "post",


// 接受数据格式

dataType : "json",


// 要传递的数据

data : params,


// 回传函数

success : update_page


});

});


});

function update_page(result) {

var json = eval( "("+result+")" );

var str = "姓名:" + json.name + "<br />"; str += "年龄:"

+ json.age + "<br />";

$("#result").html(str);


}

简单的例子调试了半天,值得注意的是引用的lib之间的可用关系



我的lib:如图struts2.0 + jquery + json - zhang_91026 - zhang_91026 的博客



原文地址:https://www.cnblogs.com/alaricblog/p/3278270.html