2012-07-20 105 views
0

我有以下传递变量把jsp:include是不工作

<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一个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 

我缺少什么,使这项工作?

+0

什么容器impl/version?如果你只是使用''这种常用的方法呢? – BalusC 2012-07-20 14:50:21

+0

您是否检查过生成的HTML代码?它看起来怎样。我敢打赌,你忘了在包含的JSP中声明核心taglib。 – 2012-07-20 14:54:57

+0

@JBNizet你完全正确。该参数被传递,但我没有定义核心taglib。我的c:out被逐字添加到页面中,未被解释。 – 2012-07-20 15:02:44

回答

4

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