[英]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.