zoukankan      html  css  js  c++  java
  • 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(系统错误);
                }
            });
        }
  • 相关阅读:
    WPF/Sliverlight ScrollViewer与Panel(2)
    OpenGL学习笔记(7)多边形绘制
    OpenGL学习笔记(10)抗锯齿
    OpenGL学习笔记(9)颜色混合
    GLUT函数说明(转)
    OpenGL学习笔记(8)显示列表
    C#操作IIS的代码
    完整解决Flash载入中文FLASH乱码问题
    用C#的IIS上配置用户账号
    ASP.NET定时调用WebService 运行后台代码
  • 原文地址:https://www.cnblogs.com/shuilangyizu/p/9686857.html
Copyright © 2011-2022 走看看