JSTL foreach显示var名称而不是其值

时间:2019-12-07 19:55:06

标签: java java-ee jstl

您好,我正在学习Java EE,现在我在JSTL部分。我试图使用foreach循环显示变量值,但结果始终是变量名而不是其value。 我在网上搜索,但没有发现任何有用的信息。 这是我的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>

由此给出的结果是: The result of the code

P.S:我正在使用Maven,并且导入了jstl jar,我正在使用1.2版本。我也尝试了不同的版本,但是徒劳。 我正在使用Intellij Ultimate版本,此代码在Eclipse上可以正常运行,但在Intellij上却不能。 谢谢您的帮助!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

您通常使用标签<%= i %>或使用<c:out value="i" />.

显示它