请问一下关于jquery与c:forEach的有关问题
请教一下关于jquery与c:forEach的问题
有一个home.jsp页面,页面打开时jquery请求后台查询数据
后台如下
然后在页面用显示数据list
问题来了,home.jsp加载时没有显示数据,但后台的list已经有数据了,home.jsp刷新之后就显示数据了
难道是因为home.jsp加载完后后台数据还没有执行完?
请教,这个问题怎么解决?
------解决方案--------------------
因为ajax是异步的,把请求发出去后,页面接着执行,这时候你的session里面还没设置值,你刷新后(此时ajax请求已被执行了),session里面有值了,就取出来了
------解决方案--------------------
既然一开始就要干嘛不在加载页面的时候直接放入session呢?
------解决方案--------------------
不要通过Ajax请求就可以
有一个home.jsp页面,页面打开时jquery请求后台查询数据
- JScript code
$(function(){ $.post("articleAction!queryArticle.action"); });
后台如下
- Java code
public String queryArticle(){ this.latelyList = this.as.queryArticle(); GetUtil.getSession().setAttribute("latelyList", latelyList); return null; }
然后在页面用显示数据list
- HTML code
<c:forEach items="${latelyList}" var="vo" varStatus="stat"> <span class="dat"> <span> ${vo.pubDate } </span><br /> ${ vo.fileName} <br/> 作者:${vo.user.userName} <br/> <a href="" style="color: #acf">详情</a> </span> </c:forEach>
问题来了,home.jsp加载时没有显示数据,但后台的list已经有数据了,home.jsp刷新之后就显示数据了
难道是因为home.jsp加载完后后台数据还没有执行完?
请教,这个问题怎么解决?
------解决方案--------------------
因为ajax是异步的,把请求发出去后,页面接着执行,这时候你的session里面还没设置值,你刷新后(此时ajax请求已被执行了),session里面有值了,就取出来了
------解决方案--------------------
既然一开始就要干嘛不在加载页面的时候直接放入session呢?
------解决方案--------------------
不要通过Ajax请求就可以