You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2018/06/25 21:59:25 UTC
svn commit: r1834380 - in /velocity/tools/trunk:
velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties
velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java
Author: cbrisson
Date: Mon Jun 25 21:59:25 2018
New Revision: 1834380
URL: http://svn.apache.org/viewvc?rev=1834380&view=rev
Log:
[tools/view] New tools.view.servlet.layout.dynamic boolean property (defaults to false)
Modified:
velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties
velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java
Modified: velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties?rev=1834380&r1=1834379&r2=1834380&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties (original)
+++ velocity/tools/trunk/velocity-tools-examples/velocity-tools-examples-showcase/src/main/webapp/WEB-INF/velocity.properties Mon Jun 25 21:59:25 2018
@@ -31,3 +31,6 @@ tools.view.servlet.layout.directory = la
# relative to the layout directory
# NOT relative to the root directory of the webapp!
tools.view.servlet.layout.default.template = Default.vm
+
+# Allow dynamic layout changes by 'layout=' query string parameter
+tools.view.servlet.layout.dynamic = true
Modified: velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java
URL: http://svn.apache.org/viewvc/velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java?rev=1834380&r1=1834379&r2=1834380&view=diff
==============================================================================
--- velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java (original)
+++ velocity/tools/trunk/velocity-tools-view/src/main/java/org/apache/velocity/tools/view/VelocityLayoutServlet.java Mon Jun 25 21:59:25 2018
@@ -116,10 +116,17 @@ public class VelocityLayoutServlet exten
*/
public static final String KEY_ERROR_INVOCATION_EXCEPTION = "invocation_exception";
+ /**
+ * The velocity.properties key for specifying
+ * whether dynamic layout change is allowed
+ */
+ public static final String PROPERTY_DYNAMIC_LAYOUT =
+ "tools.view.servlet.layout.dynamic";
protected String errorTemplate;
protected String layoutDir;
protected String defaultLayout;
+ protected boolean allowDynamicLayout;
/**
* Initializes Velocity, the view servlet and checks for changes to
@@ -153,6 +160,9 @@ public class VelocityLayoutServlet exten
// for efficiency's sake, make defaultLayout a full path now
defaultLayout = layoutDir + defaultLayout;
+
+ // initialize dynamic layout availability
+ allowDynamicLayout = "true".equalsIgnoreCase(getVelocityProperty(PROPERTY_DYNAMIC_LAYOUT, "false"));
}
@@ -181,7 +191,7 @@ public class VelocityLayoutServlet exten
{
// check if an alternate layout has been specified
// by way of the request parameters
- String layout = request.getParameter(KEY_LAYOUT);
+ String layout = allowDynamicLayout ? request.getParameter(KEY_LAYOUT) : null;
// also look in the request attributes
if (layout == null)
{