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>>)Attribute("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 = ("userId");
String userName = ("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">${t }</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){
java调用js的ajaxSystem.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 plies;//如果前⽅代码取值不称就⽤这个:jQuery.parseJSON(data).replies;
for(var i=0;i&plies.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(系统错误);
}
});
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论