I am trying to run a Spring MVC app, containing the web pages running
inside the Sling Container.
Here is how it is working now:
1. Incoming Sling request
2. Based on the resourceType, handled by Spring's dispatcher servlet.
3. Dispatcher gives the control to Spring controller, which decides what
view to display.
4. On Spring Controller return, Sling does not know about the .jsp that
controller returned.
In step 4, the Spring Controller includes:
@RequestMapping(value = "/content/slingspring", method = RequestMethod.GET)
public String showForm(ServletResponse servletResponse,
SlingHttpServletRequest slingRequest,
ResourceResolver resourceResolver) throws IOException, ServletException {
return "form";
}
Spring Configuration includes:
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/META-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
When the Spring Controller returns:
LOG Including resource NonExistingResource,
path=/META-INF/jsp/form.jsp (SlingRequestPathInfo:
path='/META-INF/jsp/form.jsp', selectorString='null', extension='jsp',
suffix='null')
2 (2014-09-29 16:21:47)
TIMER_START{resolveServlet(NonExistingResource,
path=/META-INF/jsp/form.jsp)}
2 (2014-09-29 16:21:47)
TIMER_END{0,resolveServlet(NonExistingResource,
path=/META-INF/jsp/form.jsp)} Using servlet
org.apache.sling.servlets.get.DefaultGetServlet
2 (2014-09-29 16:21:47) LOG Applying Forwardfilters
Question: How to make Sling Dispatcher to render Spring web page ?