Java Sling-获取资源的属性
我是个新手,所以我先道歉。我有一个简单的脚本,我就是无法开始工作。我所要做的就是获取JCR中特定资源的“lastModified”属性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
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进行编码。它将捕获语法错误。