我們正在AEM 6.0中嘗試一個示例吊帶模型實施。在使用Sling模型時使用Sling的adaptTo方法時出現錯誤
吊索模型類不進口是這樣的:
@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:adaptTo adaptable="${resource}" adaptTo="com.mysite.models.Header" var="model"/>
<h2>${model.link}</h2>
<h2>${model.text}</h2>
但是我們正在以下錯誤:
No tag "adaptTo" defined in tag library imported with prefix "sling"
我們使用以下語句導入了taglib:
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling" %>
最初,出現了2.2版的Apache Sling JSP Tag Library包。我們也嘗試上傳2.2.4版本,但沒有幫助。
有人請引導,如果其他東西需要adaptTo標籤可用?
taglib聲明是正確的。你能發佈完整的JSP源代碼嗎?也許你正在包含其他的JSP,它會用舊版本'導入'這個導入 –
根據[documentation](https://sling.apache.org/documentation/bundles/sling-scripting-jsp-taglib.html), 'adaptTo'標籤自版本_1.3_開始提供,所以我不希望這會成爲問題。也許你正在用上面建議的其他東西遮蔽命名空間。或者,也許你在'/ var/classes'中緩存了一些令人討厭的東西。您是否嘗試強制AEM重新編譯JSP? – toniedzwiedz