Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Level 1
Level 2
Melden Sie sich an, um alle Badges zu sehen
Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Hey Community
I have wriiten this basic code to get cq:tags property of current page
public Void activate throws exception{
rootpage=getCurrentPage;
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content/");
ValueMap pageProperties = res .getValueMap();
tag= (String) pageProperties.get("cq:tags", "Default value");
logger.info(tag);
}
When I'm using creating object using HTL statement in HTMl file it is not displaying anything on page and error log says "AEM failed to activate Use class"
How to resolve it?
@Dipti_Chauhan Please suggest.
Gelöst! Gehe zu Lösung.
Zugriffe
Antworten
Likes gesamt
Hi @ShagunMalik
BTW there is no need to add slash after jcr:content. It should be
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content");
Hi @ShagunMalik ,
You must be getting some exception like NullPoineterException or something in the logs which is happening inside Active method of your class. Could you provide the error logs?
Zugriffe
Antworten
Likes gesamt
Hi @Sh
May be there is some exception in activate method. Please debug your code using debugger and find out where you getting exception.
And normally you should not write any logic inside activate method. Create different getter to get properties because if there is any issue in you code written within activate method your class activation will get failed
Thanks
Dipti
Hi @ShagunMalik
BTW there is no need to add slash after jcr:content. It should be
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content");
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
@Dipti_Chauhan, Here is my complete java code:
Public class CategoryUse extends WCMUsePojo{
private static final Logger logger =LoggerFactory.getlogger(CategoryUse.class)
private String tag;
private Page rootpage;
ValueMap pageProperties;
public String getTag{
return tag;
}
public void activate() throws exception{
rootpage=getCurrentPage;
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content");
ValueMap pageProperties = res .getValueMap();
tag= (String) pageProperties.get("cq:tags");
logger.info(tag);
}
}
}
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Zugriffe
Antworten
Likes gesamt
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content/");
remove the slash from the end
Resource res = getResourceResolver.getResource(rootpage.getPath()+"/jcr:content");
if still the issue persists add loggers or run your class in debug mode to get the exact line where there is exception
Hope this helps
Hi @ShagunMalik ,
Could you please verify below line
tag= (String) pageProperties.get("cq:tags", "Default value");
By Default cq:tags are String Array not a String Field
String[] tagArrays = pageProperties.get("cq:tags", String[].class);
if(Objects.nonNull(tagArrays ) && tagArrays .length>0) {
tag = tagArrays[0]; -- will give first value in array.
}
Hey, @GnanendraPonnala I get your point but Even if I'm trying to access any other property of page which is of type String such as cq:template then still it is not working.
Zugriffe
Antworten
Likes gesamt
Thank you everyone.
Zugriffe
Antworten
Likes gesamt
Zugriffe
Likes
Antworten