gpt4 book ai didi

jsp - 在 CQ5.6.1 项目中使用 Sling Taglib 1.3 版

转载 作者:行者123 更新时间:2023-12-04 11:17:20 25 4
gpt4 key购买 nike

我一直在读这篇文章http://sling.apache.org/documentation/bundles/sling-scripting-jsp-taglib.html在新的 Sling Taglib 1.3 版上,因为我想开始使用新的 JSTL 函数,如 listChildren,这样我就可以避免在我的组件中使用 Java scriptlet。

当我使用 taglib 声明时

<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %> 

在我的组件 JSP 中,当我将组件放入我的 PARSYS 时出现以下错误

org.apache.sling.api.scripting.ScriptEvaluationException:
org.apache.sling.scripting.jsp.jasper.JasperException:
The absolute uri: http://sling.apache.org/taglibs/sling cannot be resolved
in either web.xml or the jar files deployed with this application

在我的 maven pom.xml 文件中我有依赖

<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.jsp.taglib</artifactId>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>

并且项目正确构建并正确安装。

有谁知道如何配置 CQ 5.6.1 项目以使用带有 URI http://sling.apache.org/taglibs/sling 的 Sling Taglib 版本 1.3 bundle 版本 2.2.0?

最佳答案

CQ 5.6.1 包含版本 2.1.8 中的 org.apache.sling.scripting.jsp.taglib 包(它在版本 1.2 中定义了 taglib)。为了使用新的 taglib,您需要升级包。

如果您将 Maven 依赖项定义为 provided,则意味着它已经安装在目标平台上。在这种情况下,事实并非如此。删除范围或将其更改为 compile 以便将新的 taglib 包包含到 CQ 包中。安装包后,您可以使用所有新功能。

您还可以安装 the bundle手动(通过 Felix 控制台)——那时您将不需要任何 Maven 依赖项。

请注意,在安装新的 taglib 包后,CQ 可能会变得无响应。重新启动实例应该会有所帮助。

关于jsp - 在 CQ5.6.1 项目中使用 Sling Taglib 1.3 版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com