Java Sling-获取资源的属性

Java Sling-获取资源的属性,java,sling,Java,Sling,我是个新手,所以我先道歉。我有一个简单的脚本,我就是无法开始工作。我所要做的就是获取JCR中特定资源的“lastModified”属性 Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list"); ValueMap properties = resource.adaptTo(ValueMap.class); String lastModified = properties.g

我是个新手,所以我先道歉。我有一个简单的脚本,我就是无法开始工作。我所要做的就是获取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代码中的“复制局部变量”仅仅意味着在同一范围内已经有一个同名的变量。如果您没有自己定义这个变量,那么您可能包含了其他一些这样做的代码


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

中定义了
属性
这就是为什么会出现重复变量错误

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

Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list");
ValueMap property = resource.adaptTo(ValueMap.class);
String lastModified = property.get("jcr:lastModified", String.class);
属性 当前资源的属性对象(org.apache.sling.api.resource.ValueMap)

只需检查JSP代码中是否存在

如果您已经定义了CQ对象,那么只需使用默认属性对象。

使用适当的IDE进行编码。它将捕获语法错误。