Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

How to declare sightly java classes globally and include/use their references in all html files?

mohanr80993572
Level 2
Level 2

When we declare/instantiate a java class in htl/sightly in a html (similar to global.jsp) file and include it in another html, we are not able to access the reference of java class created in the included file.
For Ex:
Create a java class that extends WCMUse with some getters.

com.company.sightly.components.WcmUseSample.java

public Map<String,String> getMyHashMap() {
return myHashMap;
}

Declare/instantiate the java class in htl in a html file (similar to global.jsp)
i18n-template.html
<div data-sly-use.myClass="com.company.sightly.components.WcmUseSample" data-sly-unwrap></div>

Include it in another html and try to access the reference of java class in this html.
content.html
<div data-sly-include="i18n-template.html" data-sly-unwrap></div>
${myClass.getMyHashMap['lastpage']}

We tried many options but didn't work. Few of them are:
<div data-sly-include="i18n-template.html" data-sly-unwrap></div>

<sly data-sly-include="i18n-template.html" data-sly-unwrap></sly>

<div w3-include-html="i18n-template.html"></div>

<section data-sly-include="i18n-template.html"></section>

<section data-sly-include="${ @ path='i18n-template.html'}"></section>

<section data-sly-include="${'i18n-template.html' @ prependPath=''}"></section>

<section data-sly-include="${'' @ appendPath='i18n-template.html'}"></section>
...

Please let us know how we can achieve this. Any help would be greatly appreciated.

Thanks,

Mohan

1 Accepted Solution
Feike_Visser1
Correct answer by
Employee
Employee
3 Replies
Feike_Visser1
Employee
Employee

I would see if extra bindings here, would do the trick. Then you don't have to include it in every HTML-file.

Example (slide 40+41) : https://adapt.to/content/dam/adaptto/production/presentations/2014/adaptTo2014-Lazy-AEM-developer-Sl...

Feike_Visser1
Correct answer by
Employee
Employee
mohanr80993572
Level 2
Level 2

Thanks Feike, it worked. It is very helpful.