您好,我正在学习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>
P.S:我正在使用Maven,并且导入了jstl jar,我正在使用1.2版本。我也尝试了不同的版本,但是徒劳。 我正在使用Intellij Ultimate版本,此代码在Eclipse上可以正常运行,但在Intellij上却不能。 谢谢您的帮助!
答案 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" />.