Aem 使用吊索模型时使用吊索适配方法时的误差

Aem 使用吊索模型时使用吊索适配方法时的误差,aem,sling,sling-models,Aem,Sling,Sling Models,我们正在尝试在AEM 6.0中实现一个示例吊索模型 没有导入的sling模型类如下所示: @Model(adaptables = Resource.class) public class Header { @Inject private String link; @Inject private String text; public String getLink() { return link; } public Stri

我们正在尝试在AEM 6.0中实现一个示例吊索模型

没有导入的sling模型类如下所示:

@Model(adaptables = Resource.class)
public class Header {   

    @Inject
    private String link;
    @Inject
    private String text;

    public String getLink() {
    return link;
    }
    public String getText() {
    return text;
    }

}
正在jsp中使用以下代码行调用sling模型

<sling:adaptTo adaptable="${resource}" adaptTo="com.mysite.models.Header" var="model"/>
<h2>${model.link}</h2>
<h2>${model.text}</h2> 
我们使用以下语句导入了taglib:

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

最初,ApacheSling JSP标记库捆绑包的2.2.0版本已经出现。我们也试着上传2.2.4版本,但是没有用


如果Adapto标记可用,是否还需要其他东西,请有人提供指导?

在试图帮助同事调试类似问题时偶然发现了这一点。起初,我能够通过从以下位置复制片段来复制此行为(AEM 6.1):


我在本地网站上发现,我们的自定义
global.jsp
文件引用了
/libs/foundation/global.jsp
上的旧的Granite版本。在那个文件中,我看到它有
。作为一个快速测试,我在最后删除了
/1.0
,并刷新了页面和BAM,它成功了。

taglib声明是正确的。你能发布完整的JSP源代码吗?可能您包括了其他JSP,这些JSP使用较旧的版本“隐藏”此导入。根据,从1.3版开始,
adapto
标记就可用,因此我不认为这是问题所在。也许您正在使用上面建议的其他内容来隐藏名称空间。或者你可能在
/var/classes
中缓存了一些讨厌的东西。您是否尝试过强制AEM重新编译JSP?
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %>