每次JSP循环迭代后脚本运行两次

时间:2012-10-27 18:28:00

标签: javascript jquery jstl el

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

这就是我要做的,但每张视频都会在表格中添加两次

2 个答案:

答案 0 :(得分:2)

您可能希望使用c:if,如下所示:

    <c:if test="${requestScope.userInfo.videoList.size() >0}" >
      <script>
          $('#videoTable').prepend("1");
      </script>
    </c:if> 

编辑:

不确定为何使用script。我想你可以简单地这样写:

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

如果您想要反过来排序结果,只需反复对requestScope.userInfo.videoList使用Collections.sort进行排序,然后再在UI中打印。此外,如果URL中需要进行任何修改,请在原始视频列表中执行。

答案 1 :(得分:2)

当您在jsp文件中使用样式时,此问题会变得有些,并且其中一个样式包含body标记 删除样式定义标记内的任何正文标记,jsp将正常工作。 身体陈述如下:

body {
    background-image: url();
}

只需从您的脚本中删除此行并重新运行您的页面。