首页 > 解决方案 > JSTL foreach 显示 var 名称而不是它的值

问题描述

你好我正在学习 Java EE,现在我在 JSTL 部分。我正在尝试使用 foreach 循环显示变量值,但结果始终是变量名而不是它的值。我在网上搜索,但我没有找到任何似乎有用的东西。这是我的 index.jsp 代码:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<html>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" 
      href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <body>

        <c:forEach var="i" begin="0" end="10">
            ${i}
            <c:if test="${i%2==0}">
                <p class="text-primary"><c:out value="${i}"/>></p>
            </c:if>
            <c:if test="${i%2!=0}">
                <p class="text-success"><c:out value="${i}"/>></p>
            </c:if>
        </c:forEach>
    </body>
</html>

由此给出的结果是: 代码的结果

PS:我使用的是maven,jstl jar是导入的我使用的是1.2版本。我也尝试了不同的版本,但徒劳无功。我正在使用 Intellij Ultimate 版本,此代码在 Eclipse 上完美运行,但在 Intellij 上却不行。感谢您的帮助!

标签: javajakarta-eejstl

解决方案


我通过更改<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 为解决了这个问题<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 但是这两个链接之间有什么区别以及为什么在更改它时它会起作用?谢谢你。


推荐阅读