Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an option to use include instead of forward mode in Tiles support [SPR-12374] #16981

Closed
spring-projects-issues opened this issue Oct 24, 2014 · 1 comment
Assignees
Labels
type: enhancement
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Oct 24, 2014

Ivo Leitão opened SPR-12374 and commented

I've updated tiles version from 2.2.2 to 3.0.1 in my spring portlet mvc implementation deployed over weblogic. I currently have a workaround to address blank pages appearing on portlet content. The solution is based in what is described in the reference URL. It involves applying:

ServletUtil.setForceInclude(request, true);

With this the problem was resolved. Is there any kind of similar solution for tiles3? In tiles3 i am facing the same situation and i can't find the ServletUtil class or any alternative to help me solve this problem.


Affects: 4.1.1

Reference URL: http://forum.springsource.org/showthread.php?98961-Webflow-with-JSP-Tiles-Portlet-has-no-content/page2

Referenced from: commits cfa3d35

@spring-projects-issues
Copy link
Collaborator Author

@spring-projects-issues spring-projects-issues commented Oct 31, 2014

Sébastien Deleuze commented

After various tests, I confirm that with the default configuration, Tiles support displays empty Portlets with Tiles 2 and Tiles 3, at least when using Apache Pluto.

By default, Tiles uses Servlet forward (not include) to render a JSP by default. When a Portlet is added to an existing JSP, the render phase is active, so forwarding is not possible. Pluto has a fallback mechanism to use include instead of forward mode if needed, but it seems this functionality is broken. I have created PLUTO-641 to describe exactly this potential issue on Pluto side.

As reported, forcing the include mode on Spring side fixes Portlet rendering for both Tiles 2 and Tiles 3 (even if the attribute name to set is different), so I plan to address this issue by adding an alwaysInclude boolean property to TilesView and TilesViewResolver (in both Tiles 2 and Tiles 3 support), like the existing one in InternalResourceView and InternalResourceViewResolver classes.

See this commit for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement
Projects
None yet
Development

No branches or pull requests

2 participants