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

Access Inner Class Variables In Sightly

vdhim23
Level 5
Level 5

Hi,

I am trying to access inner class properties using data-sly-list as below but it shows me there are 3 objects but not sure how to print the values of objects. I tried with . operator but nothing is visible.

<sly data-sly-test="${tabContentItems.showFilters}">
  <ul class="nav nav-tabs" role="tablist">
  <sly data-sly-list.nav="${tabContentItems.filterNav}">
  # ${nav.filterName}
  </sly>
  </ul>
</sly>

Snippet of sling model :

@Model(adaptables = Resource.class)
public class TabSubItem {

// Populating CTA

  private class CTA {
  private String filterName;
  private String filterImage;


  public String getFilterName() {
  return filterName;
  }

  public void setFilterName(String filterName) {
  this.filterName = filterName;
  }

  public String getFilterImage() {
  return filterImage;
  }

  public void setFilterImage(String filterImage) {
  this.filterImage = filterImage;
  }

  public CTA(String filterName, String filterImage) {
  this.filterName = filterName;
  this.filterImage = filterImage;
  }
  }
}

Thanks,

4 Replies
Venkatesha_Gamp
Level 3
Level 3

May i know what is the requirement?

Why are you using inner class?

vdhim23
Level 5
Level 5

Hi,

I can achieve my use-case in other way also but curious to know whether we can access inner class variables via object of outer class in sightly.

vdhim23
Level 5
Level 5

Issue solved, changed the access specifier of inner class.

smacdonald2008
Level 10
Level 10

If you setup your sling model class properly - there should be no reason to attempt to access an inner class. You should be able to get the data, including collections as shown here - in the Sling Model section: Building Experience Manager Components using Granite/Coral Resource Types