我正在尝试这段代码
for(Product product : catalog.getValues()){
String id = product.getId();
out.println("<a href=product.jsp?id=" + id + "/>");
}
当我在服务器上运行 jsp 时什么也没有出现。for 循环肯定正在运行 - 我认为这可能是一个语法问题。
怎么了?
如果服务器控制台上没有错误,我认为问题可能与此有关:
out.println("<a href=product.jsp?id=" + id + "/>");
这应该是:
out.println("<a href=product.jsp?id=" + id + ">My Links</a>");
锚标记<a>
未正确关闭。
这说了很多,但您应该远离在 JSP 文件中使用 scriptlet。您可以使用 JSTL 实现相同的目标
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach items="${reuqestScope.catalog}" var="product">
<a href=product.jsp id="${product.id}">Link</a>
</c:forEach>
并且如评论中所述,您忘记关闭锚文本