在jsp / html页面中检索crx / de属性的直观语法

时间:2019-07-18 05:16:47

标签: aem sightly aem-6

我想检索一些属性,例如jcr:使用Sightly或任何相关语法为AEM自适应形式的面板组件创建。 1

我以前尝试检索crx / de属性的Sighlty语法包括:

${properties.jcr:created}
${pageProperties\[jcr:created\].getTime.toString}
${guidePanel.jcr:created}
${resource.jcr:created}]

我尝试了以下语法,但是无法从属性中检索值,在最坏的情况下,该组件可能无法在屏幕上呈现。

我在Adobe论坛站点上查找了其他人可能会问到的stackoverflow问题。我已经尝试了解决方案并给出了答案,但无法获得结果。如果您遇到类似的问题或以前曾尝试解决类似的问题,对您的帮助或分享适用的知识,我将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您总是可以用Java或Javascript创建Use类来访问这些属性,它更干净且可测试。更好的是,您可以使用更易读和易于实现的Sling模型,这是一个很好的演示https://www.slideshare.net/accunitysoft/understanding-sling-models-in-aem

答案 1 :(得分:0)

资源属性是可读的,无需任何额外的定义。 因此,您可能需要通过添加以下命令来检查组件中处理了哪些资源:

${resource.path}

然后,您可以在CRXDE中检查返回的路径,如果该路径上确实有jcr:created属性可用-如果您正在访问具有正确吊索资源类型的资源,则应为这种情况。然后,此调用应提供有效的返回值:

${resource.path} ___ created: 
${properties.jcr:created.getTime.toString}

如果该路径也未显示,则可以发布

  • 您正在处理的内容资源的回购路径
  • sling:resourceType
  • 您正在使用的组件的ht(m)l文件的路径