亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Struts2(十六)Json

2019-11-14 23:38:19
字體:
來源:轉載
供稿:網友
Struts2(十六)Json一、JSON

Json就是瀏覽器和服務器之間交換數據的一種輕量級對象

javaSctipt中類似的對象操作

$(function() {            var person = {                "name" : "張三",                "age" : 21,                "wife" : "李四"            };            $("#msg").append("姓名:" + person.name+"<br/>").append("年齡:" + person.age+"<br/>")                    .append("老婆:" + person.wife+"<br/>");        })
二、一個小例子

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>json測試</title><script type="text/Javascript" src="js/jquery-1.8.2.js"></script><script type="text/javascript" src="js/jsonDemo.js"></script><style type="text/CSS">td {border: 1px solid blue;width:100px;}</style></head><body><div id="msg"></div><div id="msg2"></div><div id="msg3"></div><input id="btn" type="button" value="JSON與字符串轉換" /><br/><input id="btn2" type="button" value="字符串與JSON轉換" /></body></html>
$(function() {    // json對象    var person = {        "name" : "張三",        "age" : 21,        "wife" : "李四"    };    $("#msg").append("姓名:" + person.name + "<br/>").append("年齡:" + person.age            + "<br/>").append("老婆:" + person.wife + "<br/>");    // 數組    var arr1 = ["廣東", "廣西", "湖南", "湖北", "江西"]    // 使用循環遍歷    for (var i = 0; i < arr1.length; i++) {        $("#msg2").append(arr1[i] + " ");    }    // 對象數組    var users = [{                "name" : "張三",                "pwd" : "123qwe",                "age" : 21            }, {                "name" : "李四",                "pwd" : "asdf",                "age" : 22            }, {                "name" : "王五",                "pwd" : "fsde",                "age" : 23            }, {                "name" : "趙六",                "pwd" : "zcxe",                "age" : 24            }];    $("#msg3").append("<table>");    for (var i = 0; i < users.length; i++) {        $("#msg3").append("<tr>").append("<td>" + users[i].name + "</td>").append("<td>"                + users[i].pwd + "</td>").append("<td>" + users[i].age                + "</td>").append("</tr>");    }    $("#msg3").append("</table>");        // json和字符串轉換    $("#btn").bind("click",function(){        alert(JSON.stringify(users))        alert(typeof JSON.stringify(users))    })    //將字符串轉換為對象    var str='{"name":"張三豐","pwd":"qwer","age":123}'    $("#btn2").bind("click",function(){        alert(JSON.parse(str).name);        //顯示類型為string        alert(typeof JSON.parse(str).name)        alert(JSON.parse(str).pwd);        alert(typeof JSON.parse(str).pwd)        alert(JSON.parse(str).age);        //顯示類型為number        alert(typeof JSON.parse(str).age)    })            })
三、服務器端設置和客戶端使用Ajax請求

<param name="exclude3.1、Ajax實現取重服務器端的數據
package com.pb.web.action;import com.opensymphony.xwork2.ActionSupport;public class DataAction extends ActionSupport {        private String name;    private String pwd;    private Integer age;            public String getData(){        name="張三豐";        pwd="太極宗師108";        age=108;        return SUCCESS;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <package name="default" namespace="/" extends="json-default">    <action name="getData" class="com.pb.web.action.DataAction" method="getData">    <result type="json">    <!--默認返回Action中全部數據 param可以指定下要傳的元素   -->    <param name="includeProperties">    name,pwd,age    </param>    </result>    </action>    </package></struts>

javascript

$(function() {            $("#btn").click(function() {                $.ajax({                            url : "getData",                            type : "post",                            data : null,                            dataType : "json",                            success : function(data) {                                $("#msg").html("");                                $("#msg").append("姓名:" + data.name + "<br/>")                                        .append("密碼:" + data.pwd + "<br/>")                                        .append("年齡:" + data.age + "<br/>")                            },                            error : function() {                                $("#msg").html("");                                $("#msg").html("獲取數據失敗");                            }                        });            });        });

頁面

<input type="button" id="btn" value="Ajax獲取Json" /><div id="msg"></div>
四、返回對象和集合時

package com.pb.web.action;import java.util.ArrayList;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.pb.entity.User;public class DataAction extends ActionSupport {        private String name;    private String pwd;    private Integer age;    private User user;    private List<User> users;            public String getData(){        name="張三豐";        pwd="太極宗師108";        age=108;        return SUCCESS;    }    public String getUserString(){        user=new User(1, "喬丹", "123", 40);        return SUCCESS;    }    public String getUsersstring(){        users=new ArrayList<User>();        users.add(new User(1, "喬丹", "123", 40));        users.add(new User(2, "科比", "123", 36));        users.add(new User(3, "C羅", "123", 25));        return SUCCESS;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public List<User> getUsers() {        return users;    }    public void setUsers(List<User> users) {        this.users = users;    }}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <package name="default" namespace="/" extends="json-default">    <action name="getData" class="com.pb.web.action.DataAction" method="getData">    <result type="json">    默認返回Action中全部數據 param可以指定下要傳的元素      <param name="includeProperties">    name,pwd,age    </param>    </result>    </action>    <action name="getUser" class="com.pb.web.action.DataAction" method="getUserString">    <result type="json"><!--     默認返回Action中全部數據 param可以指定下要傳的元素      <param name="root"> ajax接收直接data.屬性就可以    user    </param> -->    <param name="includeProperties">user.*</param>    <!--  使用 對象.*時接收時ajax要用 date.user.屬性才可以-->    </result>    </action>    <action name="getUsers" class="com.pb.web.action.DataAction" method="getUsersString">    <result type="json">    <!-- 默認返回Action中全部數據 param可以指定下要傳的元素   -->    <!--  --><!--  ajax接收直接 data.length遍歷時取值使用data[i].屬性就可以 --><!--     <param name="root">    users    </param>  -->     <param name="includeProperties">users.*</param>    <!--  使用 對象.*時接收時ajax要用 date.users.length 取值時使用date.users[i].屬性才可以 -->    </result>     </action>    </package></struts>

javascript

$(function() {    $("#btn").click(function() {        $.ajax({                    url : "getData",                    type : "post",                    data : null,                    dataType : "json",                    success : function(data) {                        $("#msg").html("");                        $("#msg").append("姓名:" + data.name + "<br/>")                                .append("密碼:" + data.pwd + "<br/>")                                .append("年齡:" + data.age + "<br/>")                    },                    error : function() {                        $("#msg").html("");                        $("#msg").html("獲取數據失敗");                    }                });    });    // 獲取用戶對象    $("#btn2").click(function() {        $.ajax({                    url : "getUser",                    type : "post",                    data : null,                    dataType : "json",                    success : function(data) {                        $("#msg2").html("");                        $("#msg2").append("ID:" + data.user.id + "<br/>")                                .append("姓名:" + data.user.username + "<br/>")                                .append("密碼:" + data.user.passWord + "<br/>")                                .append("年齡:" + data.user.age + "<br/>")                    },                    error : function() {                        $("#msg2").html("");                        $("#msg2").html("獲取數據失敗");                    }                });    });    // 獲取對象集合    $("#btn3").click(function() {        $.ajax({                    url : "getUsers",                    type : "post",                    data : null,                    dataType : "json",                    success : function(data) {                        $("#msg3").html("");                        $("#msg3").append("<tabel>");                        for (var i = 0; i < data.users.length; i++) {                            $("#msg3")                                    .append("<tr>")                                    .append("<td>" + data.users[i].id + "</td>")                                    .append("<td>" + data.users[i].username                                            + "</td>")                                    .append("<td>" + data.users[i].password + "</td>")                                    .append("<td>" + data.users[i].age                                            + "</td>").append("</tr>");                        }                        $("#msg3").append("<tabel>");                    },                    error : function() {                        $("#msg3").html("");                        $("#msg3").html("獲取數據失敗");                    }                });    });});

五、無刷新頁頁登錄和注銷

package com.pb.entity;/* * 用戶實體類 */public class User {        private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    }
package com.pb.web.action;import java.util.Map;import org.apache.struts2.interceptor.sessionAware;import com.opensymphony.xwork2.ActionSupport;import com.pb.entity.User;public class UserAction extends ActionSupport implements SessionAware {        private User user;        private Map<String, Object> session;        private boolean flag;                //登錄的驗證方法        public String login(){            if(user.getUsername().equals("accp")&&user.getPassword().equals("accp")){                //如果用戶名和密碼都正確,將這個用戶放入Session中                session.put("u", user);                flag=true;            }else{                flag=false;            }                        return SUCCESS;        }        /*         * 退出         */        public String logout(){            session.remove("user");            return SUCCESS;        }                //實現sesssionAware接口的方法    @Override    public void setSession(Map<String, Object> session) {        this.session=session;    }    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    public Map<String, Object> getSession() {        return session;    }    public boolean isFlag() {        return flag;    }    public void setFlag(boolean flag) {        this.flag = flag;    }}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <package name="default" namespace="/" extends="json-default">    <action name="login" class="com.pb.web.action.UserAction" method="login">    <result type="json">    <param name="includeProperties">    flag,user.*    </param>    </result>    </action>    <action name="logout" class="com.pb.web.action.UserAction" method="logout">    <result type="json">    <param name="includeProperties">    null    </param>    </result>    </action>    </package></struts>

頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>登錄頁面</title><script type="text/javascript" src="js/jquery-1.8.2.js"></script><script type="text/javascript" src="js/loginDemo.js"></script></head><body><div id="loginDiv">用戶名:<input type="text" name="name" /><br/>密碼:<input type="password"  name="password"/><br/><input type="button" value="登錄" id="loginbtn" /><span id="msg"></span></div></body></html>

js

/** * 登錄頁面js */$(function() {            $("#loginbtn").click(function() {                var params = {                    "user.username" : $("input[name='name']").val(),                    "user.password" : $("input[name='password']").val()                }                $.ajax({                            url : "login.action",                            type : "post",                            data : params,                            dataType : "json",                            success : function(data) {                                // alert(data.flag);                                if (data.flag == true) {                                    $("#loginDiv")                                            .html("")                                            .append("歡迎您!")                                            .append(data.user.username)                                            .append("<input id='logoutbtn' type='button' value='注銷' />")                                } else {                                    $("#msg").html("")                                    $("#msg").append("用戶名或者密碼錯誤 !").css(                                            "color", "#FF0000")                                }                            },                            error : function() {                                $("#msg").html("")                                $("#msg").append("登錄異常!").css("color",                                        "#FF0000");                            }                        });            });            $("#logoutbtn").live("click",function(){            $.ajax({                url:"logout",            type:"post",            dataType:"json",            success:function(data){                //alert(JSON.stringify(data));                $("#loginDiv").html("");                $("#loginDiv").append('用戶名:<input type="text" id="username" value="">密碼:<input type="password" id="password" value=""><input type="button" value="登錄" id="btn"><span id="msg"></span>');            },            error:function(){                alert("ajax請求失敗");            }                            });                });        });


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情欧美激情| 欧美洲成人男女午夜视频| 日韩高清电影免费观看完整| 欧美夫妻性视频| 欧美久久精品一级黑人c片| 成人激情视频在线播放| 2019亚洲日韩新视频| 欧美激情第1页| 日韩在线免费高清视频| 久久香蕉国产线看观看网| 精品国产一区二区在线| 精品av在线播放| 成人看片人aa| 国产国语刺激对白av不卡| 国产精品久久久久久久9999| 日韩av综合中文字幕| 欧美成人小视频| 国产日韩换脸av一区在线观看| 国精产品一区一区三区有限在线| 国产精品国产福利国产秒拍| 一区二区三区高清国产| 欧美精品久久一区二区| 国产精品久久久久久久久久新婚| 亚洲福利视频久久| 欧美激情区在线播放| 国产亚洲欧美日韩美女| 久久在线观看视频| 欧美日韩在线视频观看| 国产亚洲欧美另类中文| 伊人伊成久久人综合网小说| 日韩欧美亚洲成人| 欧美夫妻性生活xx| 日韩欧美999| 日韩国产激情在线| 亚洲午夜精品视频| 国产成人在线视频| 亚洲tv在线观看| 国产一区二区三区精品久久久| 美日韩精品免费观看视频| 欧美激情2020午夜免费观看| 欧美巨猛xxxx猛交黑人97人| 日本精品久久中文字幕佐佐木| 奇门遁甲1982国语版免费观看高清| 91久久久久久久久久久久久| 国产精品久久久久久久久久99| 成人av在线亚洲| 91社影院在线观看| 日本久久中文字幕| 伊人久久综合97精品| 国产男女猛烈无遮挡91| 久久久在线视频| 国产精品亚洲一区二区三区| 亚洲免费一在线| 国产成人精品午夜| 97在线免费观看视频| 欧美极品少妇与黑人| 日韩精品中文字幕在线| 成人精品一区二区三区电影黑人| 欧美高清videos高潮hd| 日韩美女中文字幕| 国产精品扒开腿做爽爽爽男男| 日韩电影在线观看中文字幕| 亚洲激情视频在线播放| 欧美一区三区三区高中清蜜桃| 国产精品一区二区三区毛片淫片| 亚洲综合第一页| 成人h片在线播放免费网站| 久久亚洲精品国产亚洲老地址| 日韩成人在线视频网站| 亚洲午夜国产成人av电影男同| 亚洲人成电影在线观看天堂色| 久久99久国产精品黄毛片入口| 国产精品第2页| 中国人与牲禽动交精品| 亚洲久久久久久久久久久| 成人性生交大片免费看视频直播| 综合激情国产一区| 欧美国产在线电影| 亚洲成av人影院在线观看| 欧美精品久久久久a| 一区二区三区国产在线观看| 国产福利精品在线| 亚洲人免费视频| 国产欧美在线观看| 日韩精品免费在线观看| 精品国产一区二区三区久久狼黑人| 国语自产精品视频在线看一大j8| 久久99热这里只有精品国产| y97精品国产97久久久久久| www.亚洲一区| 国产精品福利小视频| 欧洲永久精品大片ww免费漫画| 亚洲黄页网在线观看| 大胆欧美人体视频| 91成人国产在线观看| 日韩精品999| 另类天堂视频在线观看| 最近2019年好看中文字幕视频| 在线国产精品播放| 成人国产在线激情| 欧美日韩国产一区在线| 亚洲欧美一区二区三区情侣bbw| 国产一区二区三区在线免费观看| 中文字幕亚洲无线码a| 亚洲xxx大片| 亚洲欧美一区二区三区在线| 久久久久久999| 最近2019中文字幕第三页视频| 欧美性色xo影院| 色与欲影视天天看综合网| 亚洲国产婷婷香蕉久久久久久| 国产不卡精品视男人的天堂| 91夜夜揉人人捏人人添红杏| 尤物九九久久国产精品的分类| 日韩在线欧美在线国产在线| 亚洲理论在线a中文字幕| 欧美一区二区三区精品电影| 久久久99免费视频| 精品视频一区在线视频| 国产精品久久久久久久久| 91精品国产综合久久香蕉最新版| 亚洲精品99久久久久| 中文字幕欧美日韩va免费视频| 91精品久久久久久久| 4438全国亚洲精品在线观看视频| 国产中文欧美精品| 亚洲精品网站在线播放gif| 午夜精品一区二区三区在线视频| 精品国产91久久久久久| 亚洲欧美日韩一区在线| 欧美伊久线香蕉线新在线| 亚洲无亚洲人成网站77777| 国产精品777| 亚洲japanese制服美女| 日韩二区三区在线| 久久av在线播放| 国产成人av网| 日韩国产激情在线| 18性欧美xxxⅹ性满足| 一区二区av在线| 亚洲精品国精品久久99热| 日韩精品中文字幕久久臀| 57pao国产精品一区| 97av在线视频| 日韩av一区在线| 怡红院精品视频| 亚洲欧美中文日韩在线| 国产精品99久久久久久久久久久久| 97在线观看视频国产| 久久久国产精品亚洲一区| 亚洲精品第一页| 成人欧美在线观看| 亚洲精品在线看| 4438全国成人免费| 亚洲精品99久久久久| 亚洲精品国偷自产在线99热| 精品无人区乱码1区2区3区在线| 久久精品欧美视频| 国产91|九色| 一区二区三区日韩在线| 欧美在线免费看| 亚洲免费视频观看| 亚洲变态欧美另类捆绑| 日本久久久久久久久|