aem - 将 sling 模型声明为 (adaptables = Resource.class) 有什么意义
问题描述
在 Sling Model 中,模型类被注解为 @Model(adaptables = Resource.class)
将参数传递为adaptables = Resource.class有什么意义。如果我不传递任何参数怎么办。所有参数 @Model 接受什么。
解决方案
该adaptables
属性决定了哪些源对象可以适应 Sling 模型实现。通常这是Resource
和/或SlingHttpServletRequest
,分别表示 Sling 资源或 Sling 请求对象。
在最常见的用例中,您可以将默认适应策略与其他 OOTB 模型注释结合使用。对于高级情况,您可以实现自己的适配器来控制如何完成。
如果您不指定adaptables
类型,那么我不希望模型允许您通过该adaptTo()
方法实例化它。我怀疑您是否也可以手动实例化它ModelFactory
服务。
有关各种 Sling 模型注释和选项的详细信息,请查看 Sling 文档 [0],其中包含您应该需要的所有信息。ACS AEM Samples 项目 [1] 中也有很好的示例。
[0] https://sling.apache.org/documentation/bundles/models.html
推荐阅读
- java - java中的哪个ORM用于并行处理?
- python - 是否可以以多处理方式在许多训练集上训练 keras 模型?
- raspberry-pi - 通过 VirtualBox 在 RaspianOS (Debian64) 上的 webgl 的速度/性能是否与实际的 RaspberryPi 相同?
- android - 如果没有 ViewModel,MediatorLiveData 将无法工作
- python - 我只想按“小时:分钟”显示时间。"d = datetime.strptime("10:30", "%H:%M")" 不起作用
- java - TextInputLayout 提示消失
- c# - 如何使用 Ajax 方法下载 excel 文件 - 这里我的文件下载在 Temp 文件夹中,而不是在浏览器中下载?
- python - 无法使用 django 中的用户模型登录到我的网站
- arrays - Excel:解决数组之间差异的标准偏差(多列的平均值)
- spark-structured-streaming - 如何在 Spark 结构化流中获取特定日期的聚合数据