java后台list集合傳值到前台,再取值的幾種方法


1.在jsp頁面中嵌套 java代碼:

首先jsp頁面中導入java的工具類

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 
//在js中插入java代碼操作
        <%
              //取出java后台設置好的userList
              List<Map<String,String>> userList = (List<Map<String,String>>)request.getAttribute("userList");
            //如果userList的值為空則實例化
              if(userList==null){
                  userList = new ArrayList<Map<String,String>>();
              }
        %>
        //如果userList內有數據 
          if (<%=userList.size()%>>0) {
          <%
                  //遍歷list中的內容
                  for (Map<String,String> user : userList) {
                    String userId = user.get("userId");
                    String userName = user.get("userName");
          %>
                  //在java遍歷中調用js方法,傳參
                  toAdd("<%=userId%>","<%=userName%>");
          <%
                  }
          %>
        //如果userList中無知就要把java后台設置好的兩個參數拿出來做參數
        }else{
            //銷售人員ID
             var userId = "${userId}";
               //銷售人員姓名
               var userName = "${userName}";
            toAdd(userId,userName);
        }

2.在jsp頁面中forEach獲取:

 <c:forEach items="${messages }" var="message">
            <div>
                <div>
                    <p><font color="red">${message.content }</font></p>
                </div>
                <div><button onclick="LookReply(${message.mid })">查看回復</button></div>
                <div id="reply_${message.mid }"></div>
            </div>
 
                <br>
        </c:forEach>

3.在后台先把list轉成json格式,然后js中使用var arr = eval(‘${list}');將list轉成js數組。

后台

JSONArray object=JSONArray.fromObject(yourlist);
request.setAttribute("agentsList", object);

前台

var agentsList =  eval('${agentsList}')
    for (var i = 0; i < agentsList.length; i++) {
        var array_element = agentsList[i];
        
    }

4.后台還是把list轉成json,js中使用var arr = jQuery.parseJSON('${list}')將list轉成數組

var arr = jQuery.parseJSON('${list}')
for (var i = 0; i < list.length; i++) {
        var array_element = list[i];
        //alert(array_element.agentPhone);
    }

5.后台是springMVC,將查詢的集合replies放進map,返回到前台。

后台:

 @RequestMapping(value="/findReply")
    @ResponseBody
    public Map<String, Object> findReply(int mid){
        System.out.println("mid:"+mid);
        List<Reply> replies=replyService.findReply(mid);
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("replies", replies);
        return map;
    }

前台:

  var mid;
    function LookReply(mid){
        $.ajax({
            dataType:"json",
            type:"POST",
            url:"../reply/findReply.action",
            data:{mid:mid},
            success:function(data){
                var arr=data.replies;//如果前方代碼取值不稱就用這個:jQuery.parseJSON(data).replies;
                 for(var i=0;i<data.replies.length;i++){
                    var name=arr[i].replier;
                    var content=arr[i].reply;
                    var time=arr[i].time;
                    $('#reply_'+mid).prepend("<dl style='background-color:pink;'><dt>"+content+"</dt><dd>回復者:"+name+"</dd><dd>回復時間:"+time+"</dd></dl>");
                }  
            },error:function(data){
                alert(系統錯誤);
            }
        });
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM