问题标签 [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.
java - 吊索 AEM / 模型 / 检索项目文本不是值
我有一个 AEM 站点。我的前端 content.xml 有一个不同颜色选项的选择列表可供选择:
我的模型看起来像:
此代码将根据用户选择的内容将 cssClass 字符串返回为“bl blue”或“gr green”。
我的问题是如何让标签字符串返回“蓝色”或“绿色”(也就是所选颜色项的文本属性)?
谢谢!
aem - 包含组件时出错:xxx 无法解析为类型
我在博客之后的核心包中开发了一个类 DateFormatter 。并在标题页中获取我的日期值:
这在我的本地服务器上运行良好。但是,在我在远程服务器上运行包安装之后。在作者页面上,出现错误:
错误消息:org.apache.sling.scripting.sightly.SightlyException:org/apache/sling/scripting/sightly/apps/xxx/components/structure/page/header_html.java 中的编译错误:第 28 行,第 1285 列:只有一个类型可以导入。com.xxx.DateFormatter 解析为包第 106 行,第 4988 列:DateFormatter 无法解析为类型
我尝试了 mvn clean 并将捆绑包安装到远程服务器上,但没有运气。
sling - 为什么 Sling 忽略了 HTL 的 data-sly-use 的“自适应”参数?
2017年,Apache Sling 和 HTL 添加了功能,以允许将 Use API与不同的自适应(例如资源解析器或子资源)一起使用,而不是默认的支持资源或请求。
Feike Visser通过一个简单的列表提供了一个如何使用这种灵活适配器的示例:
但是,该示例似乎不起作用(在这种情况下,使用非 AEM Sling 11)。在HelloWorldModel
实例化(Sling 模型)时,支持资源始终是原始页面,而不是指定的可适应页面。因为它的adaptable=child
部分被忽略了。
是什么阻止了这个有用的功能?
编辑:HelloWorldModel
基于 Visser 的示例:
输出始终是页面资源的资源类型,而不是列表子项的资源类型。
编辑:这可能是因为在SlingModelsUseProvider
之前使用了JavaUseProvider
,这意味着JavaUseProvider
- 提供灵活的适应 - 从未达到?
aem - Sling 模型中 @Model(adaptables = Resource.class) 的用途是什么?
如果我写会有什么不同
@Model(adaptables=SlingHttpServlet.class)
?
aem - 如何让“Sling 模型的委托模式”工作?
我正在尝试使用自定义 Sling 模型为 AEM 核心组件创建代理组件,该模型将部分功能委托回核心组件的 Sling 模型。
我正在遵循https://github.com/adobe/aem-core-wcm-components/wiki/Delegation-Pattern-for-Sling-Models中的示例,但它会导致java.lang.IllegalArgumentException: Can not set com.example.core.models.Title field
.
设置
- AEM 版本 6.4.4
- core.wcm.components.content 版本 2.4.0
来源
/apps/myproject/components/pageHeadline/.content.xml
com.example.core.models.PageHeadline
结果
aem - 获取 .model.json 作为字符串
我想知道是否有一种简单的方法可以通过 AEM 中的 sling 内容导出器的结果来获取字符串。在我当前的用例中,我需要组件的 htl 文件中组件的 .model.json 输出的内容,并且发送额外的请求显然不是一个好主意。关于如何获取数据的任何提示?
aem - SlingModels 中的异常处理并在 AEM 中使用 Pojos?
我的问题很简单。我们应该还是不应该在 Sling Models/WCMUsePojos 中处理/捕获异常?
细节:
我们有几个调用 OSGi 服务方法的 SlingModels,当任何异常被抛出时,我们都会将其捕获到 SlingModel,然后我们在模型中进行 @PostConstruct 方法
这似乎对我们不起作用,响应状态是 500(在浏览器的网络选项卡中检查),但页面无论如何都会加载,而不是加载我们的 500.jsp 页面或设置的“内部服务器错误页面”。
事实上,对我们有用的是将异常重新抛出到默认处理程序。这成功地加载了 500.jsp 页面。
前任。
上述实现是否理想?这适用于下面的代码,它不适用于我们
aem - AEM:将属性从 HTML 中的吊索模型传递给视觉组件
我们有一个要求,我们需要使用吊索模型响应动态创建模板。
这里的挑战是我们有一些我们想要用于构建模板的通用组件。
有没有一种方法可以让我稍微使用一下来设置通用组件的属性。
任何帮助表示赞赏。
java - 进行 Junit 测试时,如何在 AEM Sling 模型的节点对象中设置属性()?
我试图在我的单元测试中设置节点类中的属性,但无法这样做。如果您以前碰巧这样做,我想寻求您的帮助,以分享您在 AEM Sling 模型中设置节点属性以进行单元测试的知识。谢谢!
实现如下:
我写的单元测试:
错误如下:
junit - AEM Mockito 单元测试问题
因为我是 Mockito 和 AEM 模型 java 的新手。我浏览了一些文档并为 AEM Model java 编写了我的第一个 Mockito 文件。在我的代码中,我没有看到任何错误,但是在运行时我没有成功并且无法 100% 完成代码覆盖率。任何人都可以纠正/帮助我修复我的代码[给定示例 java 和相应的 mockito 文件]
Java 文件:
模拟代码
程序显示错误-->accordionModel.init();