2016-04-29 51 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解析異常。 –