![](/img/trans.png)
[英]Can you get the filename of the jsp file using a taglib in the taglib code
[英]When declaring a taglib in jsp can I get it to output html code
说我在我的jsp中:
<%@taglib prefix="foo" uri="/WEB-INF/foo.tld"%>
<html>
....
</html>
是否有可能获得taglib声明以输出一些html代码,所以我得到的html将是:
<bar>
SomeOutput
</bar>
<html>
...
</html>
我将解释为什么这对我有用。 通常,例如,当我创建图表时,我会使用javascript来包装我特定于域的模型。 这样做给了我一个可重用的标记,可以从模型创建图表。 为了提供更多的上下文,该模型可能是雇员列表,并且图表可能会在直方图或其他图表中显示其年龄。
但是,我创建的这些自定义标记库常常依赖于存在的JavaScript库。 我希望在可能的情况下在声明taglib的地方进行此声明,因为我认为这将提供最干净的解决方案,而不是保守地始终包含该库,或者需要记住包括一个JavaScript库,这样我的标签才能工作。
我也很好奇其他开发人员在这种情况下会做些什么,这也是一种替代方法。
这是不可能的。 我将创建一个“ init”标签(例如<foo:init />
,它将执行所需的输出,还将一个控制变量(例如fooInitialized = true
)放入页面/请求上下文中。然后,您的标签可以检查是否设置变量(这意味着使用JS初始化的输出已完成),如果没有,则抛出错误。
使用类似方法,例如Liferay,您必须使用<portlet:defineObjects />
标记初始化portlet对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.