jsp页面获取后台返回的对象,对象其中一个属性是list。
省略setget方法。
controller我用request.setAttribute("data",data); //data是 OwnerShopDto对象
前台el和jstl直接获取data中的list都会报错,查了资料也没有找到什么简洁的方法,因此我就用了以下的本方法,如果有更加简便的方法,可以在评论中留言,互相学习一下。
解决方法:
在jsp页面中:
<c:set var="playList" value="<%=playList %>"/>
2.el获取后台json对象并且解析
后台返回的数据,我们先用json工具类封装成json对象,工具类代码请百度,
后台依然用 request.setAttribute("data",data); //data是OwnerShopDto对象
然后在jsp页面上我们用el表达式把data拿到赋给隐藏域。
<input id="data" type="hidden" value=${data}/>
然后在js文件中,我们可以这样写。
<span style="color:#000000;">public class OwnerShopDto {
@JsonProperty(value = "shopId")
privateInteger shopId;
@JsonProperty(value = "shopName")
privateString shopName;
@JsonProperty(value = "shopType")
privateInteger shopType;
@JsonProperty(value = "sendDistance")
privateInteger sendDistance;
@JsonProperty(value = "sendLimit")
privateInteger sendLimit;
@JsonProperty(value = "address")
privateString address;</span>
@JsonProperty(value = "playList")
privateList<PlayTypeDto> list;
省略setget方法。
controller我用request.setAttribute("data",data); //data是 OwnerShopDto对象
前台el和jstl直接获取data中的list都会报错,查了资料也没有找到什么简洁的方法,因此我就用了以下的本方法,如果有更加简便的方法,可以在评论中留言,互相学习一下。
解决方法:
在jsp页面中:
<%
String path= request.getContextPath();
StringbasePath = request.getScheme() + "://"
+request.getServerName() + ":" + request.getServerPort()
+ path +"/";
OwnerShopDtodata = (OwnerShopDto)request.getAttribute("data");
List<PlayTypeDto> playList =data.getList();//先把list赋值给一个list变量
%>
<c:set var="playList" value="<%=playList %>"/>
然后下面就可以用jstl标签遍历了。
<c:forEach var="list" items="${playList}" varStatus="status">
<li id="zzjs${status.index + 1}" οnclick="setTab('zzjs',${status.index + 1},${fn:length(playList)} )">
<span><c:out value="${list.categoryName}"/></span>
</li>
</c:forEach>
记得别忘记在jsp页头写上
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
2.el获取后台json对象并且解析
后台返回的数据,我们先用json工具类封装成json对象,工具类代码请百度,
后台依然用 request.setAttribute("data",data); //data是OwnerShopDto对象
然后在jsp页面上我们用el表达式把data拿到赋给隐藏域。
<input id="data" type="hidden" value=${data}/>
然后在js文件中,我们可以这样写。
function changToJsonObj(){
vardata=$('#data').val();
varjsonObj =eval('('+data+')');//jsonObj就是一个json对象了。
}