[
https://issues.apache.org/jira/browse/TILES-544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262485#comment-13262485
]
Viktor Hedefalk commented on TILES-544:
---------------------------------------
I made the following change:
{code}
AttributeContext context = container.startContext(request, response);
exposeModelAsRequestAttributes(model, request);
JstlUtils.exposeLocalizationContext(new RequestContext(request,
servletContext));
if (!response.isCommitted()) {
...
}
try {
container.render(getUrl(), request, response);
} finally {
container.endContext(context);
}
{code}
but then I got the following error:
{code}
ava.lang.IllegalArgumentException: Cannot find a factory to create the request
context
at
org.apache.tiles.context.ChainedTilesRequestContextFactory.createRequestContext(ChainedTilesRequestContextFactory.java:137)
at
org.apache.tiles.impl.BasicTilesContainer.getRequestContext(BasicTilesContainer.java:541)
at
org.apache.tiles.impl.BasicTilesContainer.endContext(BasicTilesContainer.java:170)
at se.sj.web.tiles.TilesView.renderMergedOutputModel(TilesView.java:110)
at se.sj.web.tiles.TilesView.render(TilesView.java:70)
at
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
{code}
It's from the container.endContext(context) call.
> Stack overflow due to rendering loop when including a resource resulting in
> another tiles view.
> -----------------------------------------------------------------------------------------------
>
> Key: TILES-544
> URL: https://issues.apache.org/jira/browse/TILES-544
> Project: Tiles
> Issue Type: Bug
> Affects Versions: 2.2.2
> Environment: Spring MVC 3.1.1
> Reporter: Viktor Hedefalk
> Attachments: tiles-stackoverflow.txt
>
>
> I get a stackoverflow because of a rendering loop when including an call to a
> controller with a view is also a tile. This is a dup of TILES-418, but since
> that one was closed and I couldn't attach my stack trace, I'll open this new
> one.
> To me this is very critical. I just upgraded an application from Spring 2.0.7
> and old struts-tiles to Spring 3.1.1 and tiles 2.2.2 and the structure worked
> with struts-tiles. It's kind of a homebrew portlet thingy where we iterate
> over url:s pointing to controllers given by a cms.
> The included controller is called correctly and returns a model and view
> where the view points to a tile definition. But when Spring gives over the
> rendering to tiles, the loop begins.
> It doesn't matter if I include the url with:
> <tiles:insertTemplate name="${entry.url}" />
> or
> <c:import url="${entry.url }" />
> the same error occurs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira