【问题标题】:Passing variable to jsp:include is not working将变量传递给 jsp:include 不起作用
【发布时间】:2012-07-20 14:46:02
【问题描述】:

我有一个带有以下内容的 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

我缺少什么来完成这项工作?

【问题讨论】:

  • 什么容器实现/版本?如果你只是像往常一样使用&lt;jsp:param&gt;呢?
  • 你检查过生成的HTML代码吗?它看起来怎样。我敢打赌,您忘记在包含的 JSP 中声明核心标记库。
  • @JBNizet 你是完全正确的。正在传递参数,但我没有定义核心标记库。我的 c:out 是按字面意思添加到页面中的,而不是解释的。
  • 顺便说一句,@JBNizet,把这个作为答案,我会选择它。
  • @DaveIsaacs:我已经添加了答案。很高兴能帮上忙。

标签: jsp foreach scope


【解决方案1】:

我敢打赌,您忘记在包含的 JSP 中声明核心标记库。 &lt;c:out&gt; 标签将因此被发送到输出,浏览器将忽略它们。检查生成的 HTML 代码。

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多