Expand my Community achievements bar.

SOLVED

Sling Model Multivalue Page level property reading

Avatar

Level 5

Hello Guys,

I want to read the property of page level cq:tags which will be multivalue. If I trying to read the property by 

pageNodes.getProperty("cq:tags").getValue().toString()

its saying cq:tags is multivalue. can anyone tell me how i can read this property.

 

Regards,

~BK

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 5

Hello @a74048191r ,

Thanks for the response, I tried the lines that u posted. Unfortunately, it didn't work for me.

But I ended up with the solution that works for me. Posting Here so others can also use it if required.

private Value[] tagsFromPage;

for
(Value eachTag : tagsFromPage) {
log.info("tagsFromPage value: {}", eachTag.toString());
}

 

View solution in original post

3 Replies

Avatar

Level 2

try this:

Value[] values = pageNodes.getProperty("cq:tags").getValues();
 
then iterate as needed

                for (Value value : values) {
                    Tag tag = tagManager.resolve(value.getString());
                }

Avatar

Correct answer by
Level 5

Hello @a74048191r ,

Thanks for the response, I tried the lines that u posted. Unfortunately, it didn't work for me.

But I ended up with the solution that works for me. Posting Here so others can also use it if required.

private Value[] tagsFromPage;

for
(Value eachTag : tagsFromPage) {
log.info("tagsFromPage value: {}", eachTag.toString());
}

 

Avatar

Level 3

@khamat_bn Can you please add the code on how you are storing the cq:tags values into the tagsFromPage array?