为什么getBodyContent()。getString()在使用BodyTagSupport的JSTL自定义标记开发中返回空值?

时间:2015-04-16 09:53:13

标签: jsp jstl

当我尝试使用时检索自定义标记的主体时,我正在使用BodyTagSupport BodyTagSupport类的getBodyContent()方法我得到了空值getBodyContent()。getString()evn虽然我的标签有body。有没有办法获取我的自定义标签的bodycontent(使用BodyTagSupport而不是SimpleTagSupport)?

我有自定义标签,如下所示

<custom:label>this is body of tag</custom:label>

在java类中我正在编写doEndTag方法中的代码

BodyContent bc = getBodyContent();
String body = bc.getString();

在tld文件中我声明了

<body-content>JSP</body-content>

但我在变量体中得到空值。

1 个答案:

答案 0 :(得分:0)

您不能使用getBodyContent(),因为它仅在标记初始化后才有效。请改为使用bodyContent对象,并且必须放在doEndTag内。

pageContext.getOut().print(bodyContent.getString())