Hi,
I'm converting a JSP into sightly for a component. In that component they are setting an object as a request attribute to be used in another component. We cannot set request attributes in sightly right? So I'm trying to send this object as a parameter to a sling model/wcmusepojo to set the request attribute there but I think we can only pass string values as arguments to slingmodels/wcmusepojo right? Is there any example of passing an object as a parameter to slingmodel/wcmusepojo?
Thanks!
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
check out this similar query posted in the community that should help your problem.
Hello @jaibalaji,
You can pass the parameters in Sightly (HTL) to your Java model using the Java Use-API: https://docs.adobe.com/content/help/en/experience-manager-htl/using/htl/use-api-java.html#passing-pa...
Also, if applicable, you can use the Java Global objects like 'request': https://docs.adobe.com/content/help/en/experience-manager-htl/using/htl/global-objects.html#java-bac...
Jineet
You can not set request attribute from sightly but you can get it.
And also you can not pass a pure java object except String and some other like that so if you need any backend operation like setting request object you need to do it java only before it comes to the sightly.
if you still need to pass the parameter, you can do ti like that:
Sightly:
<sly data-sly-use.someObject="${'com.demo.core.models.DemoModel' @propertyOne='PropertyOne', propertyTwo='PropertyTwo'}>
Sling Model:
@Model(adaptables = { SlingHttpServletRequest.class })
public class DemoModel {
@Inject
private String propertyOne;
@Inject
private String propertyTwo;
//getter and setter
}
WCMUsePojo:
public class DemoUse extends WCMUsePojo {
public void activate() throws Exception {
String propertyOne = get("propertyOne", String.class);
String propertyTwo = get("propertyTwo", String.class);
}
}
NOTE: update the name of the wcmusepojo accordingly.
this will help.
Regards
Umesh Thakur
Views
Replies
Total Likes
Check https://github.com/arunpatidar02/aem63app-repo/blob/master/java/DisableEditModel.java
To use request object inside Sling Model
Views
Replies
Total Likes
Did you try with, can you share your code?
private <T> obj;
Views
Replies
Total Likes
check out this similar query posted in the community that should help your problem.
Views
Likes
Replies