[
https://issues.apache.org/jira/browse/VELTOOLS-123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763538#action_12763538
]
Nathan Bubna commented on VELTOOLS-123:
---------------------------------------
Seems like a good idea. I'll definitely add this to 2.x, but probably not the
1.x branch. It's not likely that there will be any further releases from the
1.x branch.
> Layout Servlet: Look for alternate layout in request attribute
> --------------------------------------------------------------
>
> Key: VELTOOLS-123
> URL: https://issues.apache.org/jira/browse/VELTOOLS-123
> Project: Velocity Tools
> Issue Type: Improvement
> Components: VelocityView
> Affects Versions: 1.4
> Reporter: Frederic Daoud
>
> The layout servlet looks for an alternate layout in the request parameters,
> and in the context (e.g. #set($layout="...").
> It would be very useful if it would also look in the request attributes, e.g.
> request.getAttribute("layout"). This would allow a servlet filter to specify
> which layout to use, according to whatever criteria, by setting the layout as
> a request attribute.
> This improvement is very easy to add, and it would be oh so useful!
> VelocityLayoutServlet.java (1.4):
> protected Context createContext(HttpServletRequest request,
> HttpServletResponse response)
> {
> Context ctx = super.createContext(request, response);
> // check if an alternate layout has been specified
> // by way of the request parameters
> String layout = request.getParameter(KEY_LAYOUT);
> // also look in the request attributes
> if (layout == null)
> {
> layout = request.getAttribute(KEY_LAYOUT);
> }
> if (layout != null)
> {
> // let the template know what its new layout is
> ctx.put(KEY_LAYOUT, layout);
> }
> return ctx;
> }
> Thanks in advance.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]