微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax解析json对象集合

这个需求是我们做项目经常遇到的,当你想渲染表格的数据,你的数据在servlet中存在了arraylist中,你想把arraylist传到ajax的data中,这时候就需要用到ObjectMapper对象来传递json数据,在ajax中用tableVue进行解析。

 

Servlet

 String LinesName = request.getParameter("LinesName");
            mannger dao = new mannger();
            ArrayList<Lines> linesarray = new ArrayList<Lines>();
            dao.SelectLines(linesarray,LinesName);
            response.setContentType("text/html;charset=UTF-8"); //
            ObjectMapper mapper = new ObjectMapper();
            mapper.writeValue(response.getWriter(),linesarray);//传递arraylist对象

html

  <fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
            <legend>@R_478_4045@ion</legend>
        </fieldset>
        <div  class="layui-form" id="Ai">
            <table class="layui-table" id="@R_478_4045@ion">
                <colgroup>
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                    <col width="auto">
                </colgroup>
                <thead>
                <tr >
                    <th>线路ID</th>
                    <th>线路名称</th>
                    <th>车站ID</th>
                    <th>车站名称</th>
                </tr>
                </thead>
                <tbody>
                <tr v-for="site in itemss">
                    <td> {{ site.linesID }}</td>
                    <td> {{ site.linesName }}</td>
                    <td> {{ site.siteID }}</td>
                    <td> {{ site.siteName}}</td>

                </tr>
                </tbody>
            </table>
        </div>

 <script>
            function   @R_478_4045@ion(){
                var LinesName = $("#LinesName").val();
                var tableVue = new Vue({
                    el:"#@R_478_4045@ion",
                    data:{
                        itemss:[]
                    }
                });

                $.ajax({
                    url: "Select?method1=SelectLines",
                    type: "GET",
                    data: {"LinesName":LinesName},
                    success: function (data) {
                        //var data = JSON.parse( jsonObj );//解析json对象
                        console.log(data);
                        tableVue.itemss=data;
                    },//响应成功后的回调函数
                    error: function () {
                        alert("出错啦...")
                    },//表示如果请求响应出现错误,会执行的回调函数
                    dataType: "json"//设置接受到的响应数据的格式
                });
                document.getElementById("Bi").style.display="none";
                document.getElementById("Ai").style.display="block";
                document.getElementById("Ci").style.display="none";
            }
        </script>

在表格中

  <tr v-for="site in itemss">
                    <td> {{ site.linesID }}</td>
                    <td> {{ site.linesName }}</td>
                    <td> {{ site.siteID }}</td>
                    <td> {{ site.siteName}}</td>

                </tr>
具体的名称要在网页控制台来查看,一般第一个字母是小写的。

实现效果

 


 

这个功能需要导入很多jar包,因为各种原因,我就不在上传,需要的可以联系我,有什么问题也可以私信我,欢迎来访!!!

                
                                 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐