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]

Reply via email to