在jsp中声明taglib时,我可以输出html代码

时间:2016-12-20 01:49:52

标签: java jsp taglib

说我的jsp:

<%@taglib prefix="foo" uri="/WEB-INF/foo.tld"%>
<html>
....
</html>

是否可以获取taglib声明来输出一些html代码,以便我生成的html为:

<bar>
SomeOutput
</bar>
<html>
...
</html>

我将解释为什么这对我有用。通常我用javascript包装我的特定领域模型,例如当我创建图表时。这样做给了我一个可重复使用的标签来从模型创建图表。为了给出更多的上下文,模型可能是员工列表,图表可能会在直方图或其他图表中显示他们的年龄。

但是我创建的这些自定义标记库通常依赖于存在的JavaScript库。我希望这个声明发生在可能的情况下声明taglib的地方,因为我认为这将提供最干净的解决方案,而不是保守地​​总是包含库,或者需要记住包含JavaScript库以便我的标签将工作

还会考虑另一种方法,我很好奇其他开发人员在这种情况下做了什么。

1 个答案:

答案 0 :(得分:1)

这是AFAIK无法实现的。我将创建一个“init”标签(例如<foo:init />,它将执行所需的输出,并将控制变量(例如fooInitialized = true)放入页面/请求上下文。然后您的标签可以检查,是否设置变量(这意味着已完成JS初始化的输出),如果没有则抛出错误。

类似方法使用例如Liferay,您必须使用<portlet:defineObjects />标记初始化您的portlet对象。