为啥我使用<c:forEach>显示数据时,页面第一次数据不出来,刷新一次数据才会出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我使用<c:forEach>显示数据时,页面第一次数据不出来,刷新一次数据才会出来相关的知识,希望对你有一定的参考价值。

为什么我使用<c:forEach>显示数据时,页面第一次数据不出来,刷新一次数据才会出来

这跟逻辑有关,,如果你是在本页面获取的数据,,又想在本页面显示就会出现你说的这个问题,,,解决办法1:在获取数据之后,在代码加重载函数,也就是window.reload()解决办法2:获取数据,将数据放入session,,重定向到显示数据页面,即可正常显示 参考技术A 因为爱情 一直悲伤

如何在 JSP 页面的脚本标签中使用 <c:forEach>?

【中文标题】如何在 JSP 页面的脚本标签中使用 <c:forEach>?【英文标题】:how to Use <c:forEach> in scripts tag on JSP page? 【发布时间】:2013-09-01 09:59:51 【问题描述】:

你好,jsp页面中如何在标签中使用循环?

我想用JSTL数据传入数据表

我的代码是这样的:

        $(document).ready(function() 


            /* Init DataTables */
            var startString = "[";
            var mainString = "";
            var endString = "]";


            var temp = $k.size();
        <c:forEach items="$k" var="stdn" varStatus="status">
            temp--;
            if (temp === 0) 
                mainString = mainString + "key:\"" + "$stdn.key" + "\",name:\"" + "$stdn.value.name" + "\",rollno:\"" + "$stdn.value.rollNo" + "\",marks:\"" + "$stdn.value.marks" + "\"";
             else 
                mainString = mainString + "key:\"" + "$stdn.key" + "\",name:\"" + "$stdn.value.name" + "\",rollno:\"" + "$stdn.value.rollNo" + "\",marks:\"" + "$stdn.value.marks" + "\",";
            
        </c:forEach>
                var finalString = startString + mainString + endString;
                var final = eval(finalString);

【问题讨论】:

【参考方案1】:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:forEach>YOUR CODE </title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   NAME <c:out value="$i"/><p>
</c:forEach>
</body>
</html>

这将产生以下结果:

NAME 1
NAME 2
NAME 3
NAME 4
NAME 5

以上是最简单的例子.. 以下是项目 var

<table>
      <c:forEach var="student" items="$person.person" varStatus="counter">
        <c:choose>
          <c:when test="$counter.count % 2 == 0">
            <c:set var="rowStyle" scope="page" value="odd"/>
          </c:when>
          <c:otherwise>
            <c:set var="rowStyle" scope="page" value="even"/>
          </c:otherwise>
        </c:choose>
        <tr class="ÃÂ$rowStyle">
          <td>$student.name</td>
          <td>$student.age</td>
          <td>$student.height</td>
        </tr>
      </c:forEach>
    </table>

这样你就可以使用&lt;c:forEach&gt; &lt;/c:forEach&gt; TAG..

如果您有任何具体问题,请解释

【讨论】:

它工作正常,但问题是它在 netBeans 中显示错误标记。 我在那个 所以如果你的目标是通过把它放在表中实现的,那么问题是什么?它可能是 netbeans 编辑器问题 有时它在编辑器中显示错误..但这实际上仅限于编辑器...不是一个真正的错误..在带有一些 js 文件的 eclipse 编辑器中遇到了这个问题

以上是关于为啥我使用<c:forEach>显示数据时,页面第一次数据不出来,刷新一次数据才会出来的主要内容,如果未能解决你的问题,请参考以下文章

使用c:forEach 控制5个换行,foreach换行

jstl表达式的foreach标签只执行循环不显示取出的值

c:foreach语句在JSP页面获取不到值,页面只显示EL表达 请高手帮忙解答一下,谢谢。

JSP中<c:foreach>标签内容页面不显示

为啥我的dede调用dede:pagelist无法显示,文章数是对的,但是总页数总显示1页,也没有翻页的连接?

在 JSP/JSTL 中使用 <c:forEach> 需要帮助