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(系统错误);
            }
        });
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值