Instead of using a JSP I'd say you would be better off extending the 
SlingPostServlet with your own servlet. You can set 
the sling.servlet.resourceTypes and sling.servlet.methods 
and sling.servlet.extensions to target it to the correct requests. Since you 
are extending the SlingPostServlet you should have access to the protected 
methods. 

Paul McMahon
Acquity Group


________________________________
 From: sam ” <[email protected]>
To: [email protected] 
Sent: Monday, July 23, 2012 11:28 AM
Subject: letting resourceSuperType's script to handle the request before/after 
current script
 
Hey,

I have:
/apps/image/base
/apps/image/derived/POST.jsp
/content/image/sling:resourceType = "image/derived"

POST /content/image

is handled by /apps/image/derived/POST.jsp, which is what I want.

I want POST.jsp  to be same as SlingPostServlet  but add some custom logic
(read properties from other Resource, transform, and  persist to current
Node  if criteria is met).

I tried this in POST.jsp:
<%
final SlingRequestProcessor requestProcessor =
sling.getService(SlingRequestProcessor.class);
requestProcessor.processRequest(slingRequest, slingResponse,
resourceResolver);
%>

caused infinite recursion and crashed sling instance.

I tried:
<%
final SlingPostServlet postServlet =
sling.getService(SlingPostServlet.class);
postServlet.doPost(slingRequest, slingResponse);
%>

but .doPost() is protected.



I don't need to call SlingPostServlet specifically.  I want to have
resourceSuperType's script to handle request first before my POST.jsp
handles the request.
Or, I want POST.jsp  to massage request object  and persist some properties
to repository before delegating request handling to resourceSuperType.

Is this possible?

Reply via email to