@Model(adaptables = {Resource.class,SlingHttpServletRequest.class},defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) 公共类 LearningPanelModel {
@Inject
private ResourceResolver resourceResolver;
//OR
@Inject @Source("sling-object")
private ResourceResolver resourceResolver;
//OR
@SlingObject
private ResourceResolver resourceResolver;
//OR
@ScriptVariable
private ResourceResolver resolver;
}
通过将 Resource 和 SlingHttpServletRequest 指定为适应性,模型可以根据资源或请求进行调整,从而使其在不同的用例中更加灵活。 根据使用模型的上下文,您可能需要来自 JCR(通过 Resource)或请求(通过 SlingHttpServletRequest)的信息。例如,如果该模型在 servlet 上下文中使用,您可能希望从 SlingHttpServletRequest 进行调整以访问请求参数。 某些功能可能仅在一种上下文中可用或有意义。例如,与请求相关的操作(如表单提交)需要从 SlingHttpServletRequest 进行调整,而与内容相关的操作可能只需要资源。