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> userList = (List>)request.getAttribute("userList");
	    	//如果userList的值为空则实例化
	  		if(userList==null){
	  			userList = new ArrayList>();
	  		}
	    %>
	    //如果userList内有数据 
	  	if (<%=userList.size()%>>0) {
		  <%
		  		//遍历list中的内容
		  		for (Map 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获取:

 
            

${message.content }


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 findReply(int mid){
        System.out.println("mid:"+mid);
        List replies=replyService.findReply(mid);
        Map map = new HashMap();
        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
"+content+"
回复者:"+name+"
回复时间:"+time+"
"); } },error:function(data){ alert(系统错误); } }); }

 

你可能感兴趣的:(java后台,前端js)