Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Invoke WCMUse Class from Servlet

Avatar

Level 8

Is it possible to use a class which extends WCMUse from inside of a servlet?  If so, are there any examples available?

1 Accepted Solution

Avatar

Correct answer by
Employee

No..., at least this is not the intended way of using WCMUse...

View solution in original post

4 Replies

Avatar

Correct answer by
Employee

No..., at least this is not the intended way of using WCMUse...

Avatar

Employee

What is the use-case you have in mind?

Avatar

Level 8

Feike Visser wrote...

What is the use-case you have in mind?

 

I have a class that utilizes WCMUse and builds out a list of news articles using Sightly.  I would also like to be able to utilize the same code in my servlet to avoid duplicate code (I have a requirement where one area needs AJAX to display data and the other does not).  I think I can achieve what I need to do pretty easily without invoking the WCMUse class and just separating out the logic into a different package/class within my OSGI bundle - I was just curious if this functionality existed.

Avatar

Employee

I would look towards Sling Models in that case. http://sling.apache.org/documentation/bundles/models.html

This can be used from Sightly as well as Java-code. From Sightly it must be adaptable from Request or Resource.

 

Something like this..., 

@Model(adaptables = SlingHttpServletRequest.class)

public class HeaderComponent {

    private SlingHttpServletRequest request;

public HeaderComponent(SlingHttpServletRequest request) {

this.request = request;

}

@PostConstruct

protected void init(){

// do your stuff...

}

}