吊索 - 获取资源的属性

时间:2013-05-19 16:20:49

标签: java sling

我真的很新,所以我提前道歉。我有一个简单的脚本,我无法工作。我想要做的就是获取位于JCR中的特定资源的“lastModified”属性。

Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list");
ValueMap properties = resource.adaptTo(ValueMap.class);
String lastModified = properties.get("jcr:lastModified", String.class);

相反,我得到的是以下错误:

Duplicate local variable properties

非常感谢任何帮助!谢谢!

4 个答案:

答案 0 :(得分:3)

Java或JSP代码中的“重复本地变量”只是意味着在同一范围内已存在具有此名称的变量。如果您没有自己定义该变量,那么您可能会包含其他一些代码。

正如您所注意到的,您只需更改变量的名称即可避免此问题。

答案 1 :(得分:0)

而不是

ValueMap properties = resource.adaptTo(ValueMap.class);

放:

ValueMap properties = getResource.adaptTo(ValueMap.class);

答案 2 :(得分:0)

我刚刚意识到我做错了什么。如果我将“属性”更改为“属性”,它似乎有效。我猜你不能将值图改为“属性”。

Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list");
ValueMap property = resource.adaptTo(ValueMap.class);
String lastModified = property.get("jcr:lastModified", String.class);

答案 3 :(得分:0)

CQ Taglibs. Check this link中定义了properties 这就是为什么你得到一个重复的变量错误。

此外,如果您确实使用CQ tablib,则无需创建自己的属性。只需使用默认属性。

  

<强>属性   当前资源的属性对象(org.apache.sling.api.resource.ValueMap)。

只检查JSP代码中是否存在<cq:defineObjects />。 如果已定义CQ对象,则只使用默认属性对象。