为什么我们需要在 AEM sling 模型中同时使用 Resource 和 SlingHttpServletRequest

问题描述 投票:0回答:1

@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;

}

java adobe aem
1个回答
0
投票

通过将 Resource 和 SlingHttpServletRequest 指定为适应性,模型可以根据资源或请求进行调整,从而使其在不同的用例中更加灵活。 根据使用模型的上下文,您可能需要来自 JCR(通过 Resource)或请求(通过 SlingHttpServletRequest)的信息。例如,如果该模型在 servlet 上下文中使用,您可能希望从 SlingHttpServletRequest 进行调整以访问请求参数。 某些功能可能仅在一种上下文中可用或有意义。例如,与请求相关的操作(如表单提交)需要从 SlingHttpServletRequest 进行调整,而与内容相关的操作可能只需要资源。

© www.soinside.com 2019 - 2024. All rights reserved.