使用自定义标记时初始化jstl变量

时间:2013-10-03 05:42:32

标签: jsp jstl taglib

我创建了自己的自定义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。

当我执行上述操作时,将<mytaglib:render id="feature.render">分开jsp文件并包含jsp文件,如

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

jspgetContent有:

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

它有效。

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

我想在同一个jsp文件中执行此操作。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

我只想在您的代码中添加一个名为var的属性。使用它来设置属性名称以显示您的对象:

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

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

pageContext.setAttribute(var, yourObject);