JSP custom-tag - jsp:doBody使所有标签都在小写范围内,并且不评估正文

时间:2018-03-26 12:22:10

标签: jsp

我有自定义标记e:MyTag

...
<%@ tag body-content = "tagdependent" %>
<%@ taglib prefix="e" tagdir="/WEB-INF/tags" %>
...
<jsp:doBody />
<e:MyMessageTag key="someKey" />
...

我将其用作<e:MyTag><e:MyOtherTag /></e:MyTag>

我的问题:JSP似乎将标记转换为小写 - 所以我在Body <e:myothertag />中看到的不是应该来自<e:MyOtherTag />的替换代码。

是否有一些属性要设置或类似的东西使标签区分大小写?或者body-content的值是错误的吗?

<e:MyMessageTag />被正确评估 - 它只是<jsp:doBody />内的标签,而这些标签已经松动了。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Oracle's The Java EE 5 Tutorial解释了这些属性:

  

您必须将不接受正文的标记的正文内容声明为空。对于具有正文的标签,有两种选择。包含自定义和标准标记以及HTML文本的正文内容被指定为无脚本。所有其他类型的正文内容(例如,传递给查询标记的SQL语句)都指定为tagdependent。如果未指定任何属性,则默认为无脚本。

因此,您必须将该属性声明为scriptless,或者只删除该行,因为它是默认值。