例如,Sling Models 中的@Model
注释允许多个可适配对象。
@Model(adaptables = { SlingHttpServletRequest.class, Resource.class })
但是,我不确定如何从 JSP 实例化具有多个可适配对象的模型。Sling 文档中显示的选项始终仅指定一个可适应的:https ://sling.apache.org/documentation/bundles/models.html#adaptto
问问题
3423 次
1 回答
2
当您的模型适用于这两个类时,这意味着您可以使用它们中的任何一个,而不是您必须同时适应这两个类。
因此,您可以像任何其他 Sling 模型一样对其进行调整。只是它应该适用于两者。在你的情况下你可以做
<sling:adaptTo adaptable="${resource}" adaptTo="org.apache.sling.models.it.models.MyModel" var="model"/>
或者
<sling:adaptTo adaptable="${slingRequest}" adaptTo="org.apache.sling.models.it.models.MyModel" var="model"/>
不过,请记住,如果您正在使用注入,则并非所有注入器都可以从两个适配器中获得。请求支持的不仅仅是资源(来自脚本绑定、currentPage 等的任何内容)
于 2015-06-15T15:05:33.993 回答