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);
