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

Adobe Summit 2023 [19th to 23rd March, Las Vegas and Virtual] | Complete AEM Session & Lab list
SOLVED

URL from address bar

Avatar

Level 2

Hi All,

How can I fetch browser URL in Sling Model? Example If any user has visited site https://www.google.com i want to get that in Sling Model so that process further logic.

Anybody can help?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

 

Hi @sarah_la ,

If you are adapting a request to your Sling Model, then you can use 

@SlingObject
private SlingHttpServletRequest request;

then, get URL from request using 

request.getRequestURI();

Please refer sample code snippet as below,

package com.mysite.core.models;

import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.injectorspecific.SlingObject;

@Model(adaptables = { Resource.class, SlingHttpServletRequest.class })
public class RequestURLModel {

    @SlingObject
    private SlingHttpServletRequest request;

    public String getUrl(){
        return request.getRequestURI(); //get uri from request using
    }
}

Hope that helps!

Regards,
Santosh

1 Reply

Avatar

Correct answer by
Community Advisor

 

Hi @sarah_la ,

If you are adapting a request to your Sling Model, then you can use 

@SlingObject
private SlingHttpServletRequest request;

then, get URL from request using 

request.getRequestURI();

Please refer sample code snippet as below,

package com.mysite.core.models;

import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.injectorspecific.SlingObject;

@Model(adaptables = { Resource.class, SlingHttpServletRequest.class })
public class RequestURLModel {

    @SlingObject
    private SlingHttpServletRequest request;

    public String getUrl(){
        return request.getRequestURI(); //get uri from request using
    }
}

Hope that helps!

Regards,
Santosh