在js中嵌套java代码

jsp中有时候在js中操作某些java后台传递过来的数据逻辑比较复杂,比如list内容的遍历,可以直接在页面上添加java脚本来执行内容,代码如下:

        //在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);
        }

这样的操作省去了js页面接收java数据的内容,java代码如下:

List<Map<String, String>> mapList = new ArrayList<Map<String,String>>();
Map<String, String> map = new HashMap<String,String>();
map.put("userId", "1");
map.put("userName", "水狼一族");
mapList.add(map);
req.setAttribute("userList", mapList);

猜你喜欢

转载自www.cnblogs.com/shuilangyizu/p/9244792.html