Sothea Nim created SLING-5051:
---------------------------------

             Summary: RequestDispatcher forward breaks i18n
                 Key: SLING-5051
                 URL: https://issues.apache.org/jira/browse/SLING-5051
             Project: Sling
          Issue Type: Bug
          Components: General
         Environment: Adobe Experience Manager 6.1
            Reporter: Sothea Nim


I just noticed that on AEM 6, in my Filter, when I call RequestDispatcher 
forward, i.e. request.getRequestDispatcher(...).forward(req, res);, it cause 
i18n to break. Here's a snippet of my codes:

...
boolean filtered = false;

SlingHttpServletRequest request = req instanceof SlingHttpServletRequest ? 
(SlingHttpServletRequest) req : null;
SlingHttpServletResponse response = res instanceof SlingHttpServletResponse ? 
(SlingHttpServletResponse) res : null;
            
if (request != null && response != null) {
                
    // block of codes to resolve the request uri and get the new desired URI 
                    
    if (this.resolvedUriResource != null) {
        String uri = this.resolvedUriResource.getPath() + ".html";
        RequestDispatcherOptions options = new RequestDispatcherOptions();
        options.setAddSelectors(uriSelectors);
        
this.filterConfig.getServletContext().getRequestDispatcher(uri).forward(req, 
res); // OR
        //request.getRequestDispatcher(this.resolvedUriResource, 
options).forward(req, res);
        filtered = true;
    }
}

if (!filtered) {
    chain.doFilter(req, res);
}
...

Obtain the package contained detailed codes here: 
http://www.sotheanim.com/images/www.sotheanim.com/blog/aem61-i18n-issue-samplepackage.zip
 
(/sixd/bundle/src/main/java/com/sixd/i18nissue/filter/PathResolutionFilter.java)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to