【问题标题】:Initializing jstl variable while using custom tags使用自定义标签时初始化 jstl 变量
【发布时间】:2013-10-03 05:42:32
【问题描述】:

我创建了自己的自定义tag-lib,例如:

<mytaglib:render id="feature.render">

tag-lib 以上将使用此 ID feature.render 并获取一些 HTML 数据。

我想要做的是将上述 id 返回的内容存储在 jstl 变量中。我所做的是:

<c:set var="renderContent"> <mytaglib:render id="feature.render"> </c:set>

但上述解决方案不起作用,变量renderContent为null。

当我通过放置&lt;mytaglib:render id="feature.render"&gt; 来完成上述操作时,它会将jsp 文件分开并包含jsp 文件,如

<c:set var="renderContent"><jsp:include page="getContent"/></c:set>

jsp页面getContent有:

<mytaglib:render id="feature.render">

它有效。

我不知道为什么它在内联完成时不起作用,以及为什么放在单独的文件中时它起作用。

我想在同一个jsp 文件中做。有什么帮助吗?

【问题讨论】:

    标签: jsp jstl taglib


    【解决方案1】:

    我只想在您的标签中添加一个名为var 的属性。使用它来设置属性名称以公开您的对象:

    <mytaglib:render id="feature.render" var="renderContent"/>
    

    在您的标签中,将您的对象设置为页面上下文中的属性:

    pageContext.setAttribute(var, yourObject);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      • 2019-11-20
      相关资源
      最近更新 更多