1. 程式人生 > >java後臺list集合傳值到前臺,再取值的幾種方法

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(系統錯誤);
            }
        });
    }