Hello Durga,

What error are you getting? Can you post the stacktrace, that would
help finding the error tremendously.

Cheers,
Jakob

On Tue, May 1, 2012 at 6:24 PM, durga nuvvula <[email protected]> wrote:
> Hello Team,
>
>
> I am getting 500 error on using the SlingHttpServletRequest requestDispatcher
> forward. Please suggest. My requirement is to forward the request to that
> page once the request comes to filter and filter identifies that as a CQ
> content landing page. I am relatively new using sling and CQ. please help.
>
>
>
> public void doFilter(ServletRequest request, ServletResponse response,
>
>                              FilterChain chain) throws IOException,
> ServletException {
>
>
>       SlingHttpServletRequest slingRequest =
> (SlingHttpServletRequest)request;        RequestDispatcherOptions
> requestDispatcherOptions = new RequestDispatcherOptions();
> RequestDispatcher requestDispatcher =
> slingRequest.getRequestDispatcher("/content/geometrixx/en/products.html",requestDispatcherOptions);
> requestDispatcher.forward(request, response);
>
>     }
>
>
>
> I have looked into the docuemntation for SlingHttpServletRequest to get the
> dispatcher. but there are no examples as such.
>
>
>
> http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/Sli
> ngHttpServletRequest.html#getRequestDispatcher(org.apache.sling.api.r e
> source.Resource,
> org.apache.sling.api.request.RequestDispatcherOptions)<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher(org.apache.sling.api.resource.Resource,%20org.apache.sling.api.request.RequestDispatcherOptions)>
>
>
>
> I have looked into the documentation of the sling servlet registration to
> understand the terms path, selectors, extensions etc.
>
>
>
> sling.servlet.paths = [ "/libs/sling/sample/html",
> "/libs/sling/sample/txt" ] sling.servlet.resourceTypes = [
> "sling/unused" ] sling.servlet.selectors = [ "img" ]
> sling.servlet.extensions = [ "html", "txt", "json" ]
>
> A Servlet service registered with these properties is registered under the
> following paths:
>
>   - /libs/sling/sample/html
>   - /libs/sling/sample/txt
>
>
> RequestDispatcher<http://docs.oracle.com/javaee/1.4/api/javax/servlet/RequestDispatcher.html?is-external=true>
> *getRequestDispatcher<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher(org.apache.sling.api.resource.Resource)>
> *(Resource<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/resource/Resource.html>
>  resource)
>          Same as
> getRequestDispatcher(Resource,RequestDispatcherOptions)<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher(org.apache.sling.api.resource.Resource,%20org.apache.sling.api.request.RequestDispatcherOptions)>
> but
> using empty 
> options.RequestDispatcher<http://docs.oracle.com/javaee/1.4/api/javax/servlet/RequestDispatcher.html?is-external=true>
> *getRequestDispatcher<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher(org.apache.sling.api.resource.Resource,%20org.apache.sling.api.request.RequestDispatcherOptions)>
> *(Resource<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/resource/Resource.html>
>  resource, 
> RequestDispatcherOptions<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/request/RequestDispatcherOptions.html>
>  options)
>          Returns a RequestDispatcher object that acts as a wrapper for the
> resource located at the given
> resource.RequestDispatcher<http://docs.oracle.com/javaee/1.4/api/javax/servlet/RequestDispatcher.html?is-external=true>
> *getRequestDispatcher<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/SlingHttpServletRequest.html#getRequestDispatcher(java.lang.String,%20org.apache.sling.api.request.RequestDispatcherOptions)>
> *(String<http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true>
>  path, 
> RequestDispatcherOptions<http://dev.day.com/docs/en/cq/current/javadoc/org/apache/sling/api/request/RequestDispatcherOptions.html>
>  options)
>          Returns a RequestDispatcher object that acts as a wrapper for the
> resource located at the given path.
>
>
>
>
>
> I have tried first 2 api's
>
>
>
> SlingHttpServletRequest slingRequest = (SlingHttpServletRequest)request;
>
> Resource resource =
> slingRequest.getResourceResolver().getResource("/content/geometrixx/e
> n/products.html");
>
> RequestDispatcherOptions requestDispatcherOptions = new
> RequestDispatcherOptions();
>
> RequestDispatcher requestDispatcher =
> slingRequest.getRequestDispatcher(resource,requestDispatcherOptions);
>
>
> Also tried the 3rd api above in the doFilter code.
>
>
>
> Should I give the path in the resource with html extension.
>
>
>
> Any pointers/suggestions to solve this requestDispatcher forward would be
> appreciable.
>
>
> --Durga



-- 
Cheers,
Jakob

Reply via email to