<div style="width:100%;background-color: #61b832;border-radius: 10px;color:white;text-align: center">Videos List</div>
<table style="width:100%;"id="videoTable">
<c:forEach items="${requestScope.userInfo.videoList}"var="video"varStatus="0">
<script>
var fullvideoUrl='<c:out value="${video.videoUrl}"></c:out>';
var videocode='http://www.youtube.com/embed/'+youtube_parser(fullvideoUrl);
$('#videoTable').prepend('<tr class="appendVideo"><td style="width:80%;border-bottom: 1px solid #CCC;"><c:out value="${video.videoDescription}"></c:out></td><td style="width:20%;border-bottom: 1px solid #CCC"><img src="images/fancybox_play-button-icon.png" class="changeVideo" videoId="<c:out value="${video.videoId}"></c:out>" videoUrl ="'+videocode+'"/></td></tr>');
</script>
</c:forEach>
</table>
</div>
这就是我想要做的,但每个视频都会在表格中添加两次
最佳答案
您可能需要使用c:if
,如下所示:
<c:if test="${requestScope.userInfo.videoList.size() >0}" >
<script>
$('#videoTable').prepend("1");
</script>
</c:if>
编辑:
不确定为什么使用脚本
。我认为你可以简单地这样写:
<div style="width:100%;background-color: #61b832;border-radius: 10px;color:white;text-align: center">Videos List</div>
<table style="width:100%;"id="videoTable">
<c:forEachitems="${requestScope.userInfo.videoList}" var="video" varStatus="0">
<tr class="appendVideo"><td style="width:80%;border-bottom: 1px solid #CCC;"><c:out value="${video.videoDescription}"></c:out></td><td style="width:20%;border-bottom: 1px solid #CCC"><img src="images/fancybox_play-button-icon.png" class="changeVideo" videoId="<c:out value="${video.videoId}"></c:out>" videoURL="http://www.youtube.com/embed/${video.videoUrl}"/></td></tr>
</c:forEach>
</table>
</div>
如果您想对结果进行反向排序,只需在 UI 中打印之前使用 Collections.sort
对 requestScope.userInfo.videoList
进行反向排序即可。另外,如果 URL 中需要任何修改,请在原始视频列表本身中执行。
关于javascript - JSP 循环的每次迭代后脚本运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13102940/