2016-04-29 68 views
1

我有一个jstl,它用于清理jsp文件标记之间的html片段。但在目前的情况下,我所有的组件都很明显。我想达到同样的效果。是否有可能以某种方式在视觉上使用该标签?在目标中使用jstl

回答

0

你不能在视觉上使用任何jsp标签(这是一个html,而不是最后的jsp)。目前的实现也不允许定义任何自定义标签。

1

您不能在Sightly中使用JSP标记库,但有一种方法可以解决此限制。

您可以使用data-sly-include属性在您的Sightly脚本中包含其他脚本。

这里就是它会按the documentation:当它被处理

替换由指定的HTML模板文件(悦目,JSP,ESP等)生成的标记主元素的含量及其相应的模板引擎。包含文件的渲染上下文将不包含当前的Sightly上下文(包含文件的上下文);因此,对于列入悦目的文件,目前data-sly-use必须包含文件

更加上Sightly/JSP interoperability

移动进行多次,以悦目不一定全有或全无的选择,因为Sightly编写的组件与JSP或ESP编写的组件兼容。这意味着现有项目可以毫无问题地为新组件使用Sightly,同时为现有组件保留JSP。

即使在同一个组件中,Sightly文件也可以与JSP和ESP一起使用。例如,JSP可以包括悦目的文件中像这样,

<cq:include script="footer.html"/>

和悦目文件可以包含JSP这样,

<div data-sly-include="footer.jsp"></div>

如果你确保了taglib对JSP是可见的(适当的包括在你的JSP中或者它指的是global.jsp),你应该能够在JSP中使用taglib,然后在你的Sightly文件中引用JSP。

作为一种替代方案,您可以在Java中编写一个Use类或Sling模型,实现类似于自定义标签提供的功能。

可能有一种不同的,更优雅的方式来达到理想的结果,但很难说不知道标签究竟应该做什么。

+0

@HariomTomar听起来像是你可能想避开AEM的东西。你有没有考虑在Apache上设置mod_pagespeed?如果你想坚持Sightly解决方案,那么调用一个使用标签的JSP应该能够做到这一点。 – toniedzwiedz

+0

该标记将标记之间的html并将其缩小。例如: - ' ' –

+0

这样我将不得不在一个HTML代码和下面的一个包括一个jsp文件..在一个打开标签并关闭另一个,这显然会导致jsp解析异常。 –