问题标签 [sling-models]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aem - AEM SlingModel 概念中@postconstructor 的用途是什么?
当我在使用@postconstructor
时,我什么时候可以使用SlingModel
?
aem - 如何将 Sling 模型导出为 JSON 并将其呈现给最终用户?
假设我有以下模型:
如何将此模型作为 JSON 呈现给最终用户?
我知道可以使用GSON
库将 java 类转换为 JSON,但在这种情况下,我应该引入新字段并在 @PostConstruct 方法中对其进行初始化:
而不是在 html 中使用这个模型(需要新创建组件)
有没有不创建组件的优雅解决方案?
maven - 什么可能会阻止我的 Sling 模型注册?
我的简单 Sling 模型类没有出现在 Apache Sling Console 下/system/console/adapters
,尽管捆绑包出现在/system/console/bundles
(以及我注释的任何服务类@Component
成功注册)。我正在使用ModelsScannerPlugin
插件自动获取模型类的名称,但如果我在<Sling-Model-Packages>
.
运行mvn clean install -PautoInstallBundle
以 结束BUILD SUCCESS
,但显示以下消息:
作业.java
pom.xml
我想我的 . 中有一个错误pom.xml
,或者有一些未记录的不兼容bnd-maven-plugin
(大多数示例似乎都在使用maven-bundle-plugin
,尽管 Sling 文档表明两者都是兼容的)。
编辑
这是 MANIFEST.MF:
从中可以看出,没有在 下创建条目Export-Package
。
java - 吊索模型的使用
以下哪一项是定义吊索模型的更好方法,为什么?
或者
当所有实现类中的所有方法都被覆盖时,你能告诉我一个使用接口作为模型的定义用例吗?
aem - 获取父节点吊索模型中的基础组件属性
我刚开始使用 Sling 模型,但在检索父模型中的子节点属性时遇到了问题。 这是我的 JCR 结构
图像节点是一个来自基础组件。我的目标是在 Topbanner 节点中获取图像组件的“文件引用”属性,然后在其漂亮的脚本中。这是我的顶级横幅节点模型:
我得到的错误是 Identifier Mypackage.models.TopBanner 不能被 Use API 正确实例化
aem - AEM:如何使用资源类型获取已注册的吊索模型列表
在创建 sling 模型时,我们可以通过资源类型注册它。有什么方法可以通过在 AEM 中提供资源类型来获取吊索模型类名称。例如:如果我有一个资源类型 /mysite/component/breadcrumb 并且吊索模型是 BreadCrumbModel.java。如果我传递资源类型值并获取类引用,是否有 OOTB 服务。
谢谢
aem - 无法将模型类适配到 SlingHttpServletRequest
我正在尝试在我的模型类中注入资源。使用注释时遇到的问题@Model(adaptables = { SlingHttpServletRequest.class, Resource.class })
我得到的对象为空,而只有 Resource.Class 我得到的对象(navigationItems)。下面是我的课的片段。你能告诉我修复它的步骤吗?
如果我删除可选注释,我会收到以下错误:
servlets - 吊索模型与 WCMUSEPOJO
我需要了解 wcmusepojo 和 sling 模型的含义?我的意思是我已经读过这些实现是为了将你的组件和后端实现结合在一起,但是在这些(wcmusepojo 和 sling 模型)中到底做了什么,而在一个组件的代码中做了什么?
另外,使用 wcmusepojo 和使用 sling 模型有什么区别?
aem - 如何使用 cq:editConfig 包装组件
我们在 AEM 6.4 SP2 上包装组件时遇到问题:假设我想扩展 wcm 核心映像组件 (v2) 并创建自己的包装器组件来扩展功能集。
包装器组件有它自己的 html,并设置了 resourceSuperType。此外,还有一个 cq:editConfig(带有该组件的 resourceType 的放置目标)、cq:dialog 和一个 cq:design_dialog(在组件配置中添加的一个选项)。现在我的包装器组件也进行了版本控制,因为它是许多其他项目使用的平台项目的一部分。因此,组件组是“.hidden”。
此外,至少有一个项目特定组件(“extendedImageWrapper”)正在包装我的组件(“extendedImage”)。extendedImageWrapper 是空的,它只是有一个resourceSuperType 集,引用extendedImage。
允许在可编辑模板中使用 extendedImageWrapper。给定布局容器中的组件有一个策略。
只要我不使用放置目标,一切都可以正常工作。如果您在放置目标中拖放图像,则资源类型将被覆盖并引用“extendedImage”而不是“extendedImageWrapper”。对于 extendedImage 没有可用的策略,因为它不允许在给定的模板中使用。因此,extendedImage 的 SlingModel 中的 currentStyle 为空。
如果我用 crx/de 修复资源类型,一切都会重新开始......
我现在的问题是:用放置目标包装(可配置)包装器组件的最佳方法是什么?为包装器创建编辑配置是一种选择,但感觉不对。有任何想法吗?
BR,奥利弗
aem - 将 sling 模型声明为 (adaptables = Resource.class) 有什么意义
在 Sling Model 中,模型类被注解为 @Model(adaptables = Resource.class)
将参数传递为adaptables = Resource.class有什么意义。如果我不传递任何参数怎么办。所有参数 @Model 接受什么。