簡體   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