将变量传递给jsp:include不起作用

时间:2012-07-20 14:46:03

标签: jsp foreach scope

我有一个带有以下

的jsp文件
<c:forEach var="node" items="${tree.children}">
  <c:set var="currentNode" value="${node}" scope="request"/>
  <c:out value="${currentNode.displayName}" />
  <jsp:include page="currentNode.jsp"/>
  <br/>
</c:forEach>

目前只包含currentNode.jsp,只包含

X<c:out value="${currentNode.displayName}" />Y

变量currentNode应该在包含的jsp文件中可用。例如,请参阅此question

但即便是这个简单的例子也无效。我得到以下输出

Node 1 XY
Node 2 XY
Node 3 XY

我期待的地方

Node 1 XNode 1Y
Node 2 XNode 1Y
Node 3 XNode 1Y

我缺少什么让这项工作?

1 个答案:

答案 0 :(得分:4)

我敢打赌,您忘记在包含的JSP中声明核心taglib。因此,<c:out>标签将按原样发送到输出,浏览器将忽略它们。检查生成的HTML代码。