내 커뮤니티 업적 표시줄을 확대합니다.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.

해결됨

Not able to access jcr:content properties of currentPage.

Avatar

Level 3

Hi Community,

I have written this basic code to access jcr:content properties of my current page specifically cq:tags property but it is not working.

 

public Void activate throws exception{

rootpage=getCurrentPage;

Resource res = getResourceResolver.getResource(rootpage.getPath);

         ValueMap pageProperties = res .getValueMap();

         tag= (String) properties.get("cq:tags", "Default value");

}

 

When I'm using getter method to access the cq:tags property it is showing only Default Value and not the real value of cq:tags even though I can see cq:tags property inside jcr:content in pages.

Please help. 

Is there any other way of achieving the same task?

1 채택된 해결책 개

Avatar

정확한 답변 작성자:
Community Advisor and Adobe Champion

Hi @ShagunMalik ,

 

It is because "rootpage.getPath" is just path to a page (for example /content/mywebsite/en/mypage) and it is not ending with "jcr:content" node, whereas the properties you are looking for are stored on jcr:content node. So you have to add jcr:content before making resource ((for example /content/mywebsite/en/mypage/jcr:content) ).

 

Resource res = getResourceResolver.getResource(rootpage.getPath + "/jcr:content/");

 

The best way is to enable debugger in your favorite IDE (eclipse for example) and inspect on run time. That way you will find it more easy while development.

 

hope it helps!

원본 게시물의 솔루션 보기

6 답변 개

Avatar

정확한 답변 작성자:
Community Advisor and Adobe Champion

Hi @ShagunMalik ,

 

It is because "rootpage.getPath" is just path to a page (for example /content/mywebsite/en/mypage) and it is not ending with "jcr:content" node, whereas the properties you are looking for are stored on jcr:content node. So you have to add jcr:content before making resource ((for example /content/mywebsite/en/mypage/jcr:content) ).

 

Resource res = getResourceResolver.getResource(rootpage.getPath + "/jcr:content/");

 

The best way is to enable debugger in your favorite IDE (eclipse for example) and inspect on run time. That way you will find it more easy while development.

 

hope it helps!

Avatar

Level 3

Hey @Ritesh_Mittal  I'm getting logger to debug and when I see Error logs I found error "AEM failed to activate Use class". How to resolve it?

I have made the changes that you suggested.

Avatar

Community Advisor and Adobe Champion

@ShagunMalik , So you are good with your original issue, right? and for the error logs, its better if you create a new issue/thread so that tracking will be easy.

Avatar

Level 3
Ok @Ritesh_Mittal I will create a new thread for error logs and Thank you for resolving issue of getting page properties.

Avatar

Community Advisor

Hi @ShagunMalik 

  There are multiple things you need to validate here:

  • pageProperties  is your valueMap object but you are using "properties" to get cq:tags. Please check.
  • If you already have page object why you need to convert it to resource? you can get properties from page itself.
  • If you want to use this code snippet than you can use what @Ritesh_Mittal suggested or you can use below mentioned code snippet to get jcr:contentfinal Resource resource = pageResource.getChild("jcr:content");
    if (resource != null) {
    ValueMap map = resource.getValueMap();

Thanks

Dipti

Avatar

Level 2