繁体   English   中英

吊索 - 获取资源的属性

[英]Sling - Get properties of a resource

我真的很新,所以我提前道歉。 我有一个简单的脚本,我无法工作。 我想要做的就是获取位于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

任何帮助是极大的赞赏! 谢谢!

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

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

代替

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

放:

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

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

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

CQ Taglibs中定义了properties 检查此链接这就是您收到重复变量错误的原因。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM