Author: cbrisson
Date: Tue May 17 10:44:17 2016
New Revision: 1744249
URL: http://svn.apache.org/viewvc?rev=1744249&view=rev
Log:
[site] fix many bugs found by linkchecker
Added:
velocity/site/cms/trunk/content/tools/devel/maven-velocity-tools-plugin/images/velocitytools.png
(with props)
Modified:
velocity/site/cms/trunk/content/.htaccess
velocity/site/cms/trunk/content/anakia/1.0/index.html
velocity/site/cms/trunk/content/engine/1.7/build.mdtext
velocity/site/cms/trunk/content/engine/1.7/dependencies.mdtext
velocity/site/cms/trunk/content/engine/1.7/developer-guide.mdtext
velocity/site/cms/trunk/content/engine/1.7/webapps.mdtext
velocity/site/cms/trunk/content/engine/devel/developer-guide.mdtext
velocity/site/cms/trunk/content/engine/devel/webapps.mdtext
velocity/site/cms/trunk/content/tools/2.0/config-java.mdtext
velocity/site/cms/trunk/content/tools/2.0/configuration.mdtext
velocity/site/cms/trunk/content/tools/2.0/creating-tools.mdtext
velocity/site/cms/trunk/content/tools/2.0/dependencies.mdtext
velocity/site/cms/trunk/content/tools/2.0/frameworks.mdtext
velocity/site/cms/trunk/content/tools/2.0/generic.mdtext
velocity/site/cms/trunk/content/tools/2.0/left.nav
velocity/site/cms/trunk/content/tools/2.0/struts-user-guide.mdtext
velocity/site/cms/trunk/content/tools/2.0/struts.mdtext
velocity/site/cms/trunk/content/tools/2.0/tools-summary.mdtext
velocity/site/cms/trunk/content/tools/2.0/upgrading.mdtext
velocity/site/cms/trunk/content/tools/2.0/view-layoutservlet.mdtext
velocity/site/cms/trunk/content/tools/2.0/view-servlet.mdtext
velocity/site/cms/trunk/content/tools/2.0/view-tag.mdtext
velocity/site/cms/trunk/content/tools/2.0/view.mdtext
velocity/site/cms/trunk/content/tools/devel/config-java.mdtext
velocity/site/cms/trunk/content/tools/devel/configuration.mdtext
velocity/site/cms/trunk/content/tools/devel/creating-tools.mdtext
velocity/site/cms/trunk/content/tools/devel/dependencies.mdtext
velocity/site/cms/trunk/content/tools/devel/frameworks.mdtext
velocity/site/cms/trunk/content/tools/devel/generic.mdtext
velocity/site/cms/trunk/content/tools/devel/left.nav
velocity/site/cms/trunk/content/tools/devel/struts-user-guide.mdtext
velocity/site/cms/trunk/content/tools/devel/struts.mdtext
velocity/site/cms/trunk/content/tools/devel/tools-summary.mdtext
velocity/site/cms/trunk/content/tools/devel/upgrading.mdtext
velocity/site/cms/trunk/content/tools/devel/view-layoutservlet.mdtext
velocity/site/cms/trunk/content/tools/devel/view-servlet.mdtext
velocity/site/cms/trunk/content/tools/devel/view-tag.mdtext
velocity/site/cms/trunk/content/tools/devel/view.mdtext
Modified: velocity/site/cms/trunk/content/.htaccess
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/.htaccess?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/.htaccess (original)
+++ velocity/site/cms/trunk/content/.htaccess Tue May 17 10:44:17 2016
@@ -8,9 +8,9 @@ Redirect 301 /texen/devel/ /texen/
Redirect 301 /team-list.html /who-we-are.html
Redirect 301 /engine/releases/velocity-1.7/ /engine/1.7/
Redirect 301 /tools/releases/2.0/ /tools/2.0/
-Redirect 301 /engine/2.0/vtl-reference-guide.html
/engine/2.0/vtl-reference.html
-Redirect 301 /engine/2.0/changes-report.html /engine/2.0/changes.html
-Redirect 301 /engine/2.0/jar-dependencies.html /engine/2.0/dependencies.html
+Redirect 301 /engine/1.7/vtl-reference-guide.html
/engine/1.7/vtl-reference.html
+Redirect 301 /engine/1.7/changes-report.html /engine/1.7/changes.html
+Redirect 301 /engine/1.7/jar-dependencies.html /engine/1.7/dependencies.html
Redirect 301 /engine/devel/vtl-reference-guide.html
/engine/devel/vtl-reference.html
Redirect 301 /engine/devel/changes-report.html /engine/devel/changes.html
Redirect 301 /engine/devel/jar-dependencies.html
/engine/devel/dependencies.html
Modified: velocity/site/cms/trunk/content/anakia/1.0/index.html
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/anakia/1.0/index.html?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/anakia/1.0/index.html (original)
+++ velocity/site/cms/trunk/content/anakia/1.0/index.html Tue May 17 10:44:17
2016
@@ -320,7 +320,7 @@ context.put("root", root );
<a name="installationexample"></a><div
class="section"><h2>Installation/Example</h2>
<p>
Before reviewing the <code>examples/anakia</code> directory,
- you must <a href="build.html">build Velocity</a>.
+ you must <a href="/engine/devel/build.html">build Velocity</a>.
</p>
<p>
After building Velocity, <code>cd</code> into the
@@ -333,7 +333,7 @@ context.put("root", root );
<p>
The <code>examples/anakia/xdocs/</code> directory has all of the
.xml source code. The xdocs/stylesheets directory contains the .vsl
- file, in which most of the magic happens. Understanding <a
href="user-guide.html">Velocity Template Language</a> and
+ file, in which most of the magic happens. Understanding <a
href="/engine/devel/user-guide.html">Velocity Template Language</a> and
<a href="http://www.jdom.org/" class="externalLink">JDOM</a> is
necessary to understand how the .vsl file works.
</p>
Modified: velocity/site/cms/trunk/content/engine/1.7/build.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/1.7/build.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/1.7/build.mdtext (original)
+++ velocity/site/cms/trunk/content/engine/1.7/build.mdtext Tue May 17 10:44:17
2016
@@ -73,7 +73,7 @@ Some of the most useful targets are:
+ **`jar-dep`** builds the complete Velocity jar in the `bin` directory.
+ **`clean`** deletes all generated classes, jars, documentation, and other
files.
+ **`real-clean`** like `clean` but also deletes all downloaded jars.
-+ **`docs`** builds these docs in the `docs` directory using Velocity's
[Anakia](anakia.html) XML transformation tool. Allows you to use Velocity
templates in place of stylesheets - give it a try!
++ **`docs`** builds these docs in the `docs` directory using Velocity's
[Anakia](/anakia/) XML transformation tool. Allows you to use Velocity
templates in place of stylesheets - give it a try!
+ **`examples`** builds the example code in the example programs found in the
`examples` directory.
+ **`jar-src`** bundles all the Velocity source code into a single jar, placed
in the `bin` directory.
+ **`javadocs`** builds the Javadoc class documentation in the `docs/api`
directory
Modified: velocity/site/cms/trunk/content/engine/1.7/dependencies.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/1.7/dependencies.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/1.7/dependencies.mdtext (original)
+++ velocity/site/cms/trunk/content/engine/1.7/dependencies.mdtext Tue May 17
10:44:17 2016
@@ -14,7 +14,7 @@ commons-logging | No | Must be present i
oro | Yes | Must be present if you have Velocity configured to [automatically
escape references](developer-guide.html#configuring-event-handlers). Otherwise,
it is not needed.
Log4j | No | Must be present if log4j Logging has been selected. Not needed if
any other logging style has been selected.
logkit (or avalon-logkit) | No | Must be present if Avalon Logging has been
selected. Not needed if any other logging style has been selected.
-servletapi | No | Only needed in the context of a web application. Should
normally be supplied by the servlet container. **VelocityServlet is deprecated
and should be replaced with VelocityViewServlet from the
[velocity-tools](/tools-devel) distribution.**
+servletapi | No | Only needed in the context of a web application. Should
normally be supplied by the servlet container. **VelocityServlet is deprecated
and should be replaced with VelocityViewServlet from the
[velocity-tools](/tools/devel) distribution.**
jdom | No | Only required for the deprecated Anakia tool / ant task
werken-xpath | No | Only required for the deprecated Anakia tool / ant task
antlr | No | Only required for the deprecated Anakia tool / ant task
Modified: velocity/site/cms/trunk/content/engine/1.7/developer-guide.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/1.7/developer-guide.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/1.7/developer-guide.mdtext (original)
+++ velocity/site/cms/trunk/content/engine/1.7/developer-guide.mdtext Tue May
17 10:44:17 2016
@@ -11,7 +11,7 @@ Velocity is a Java-based template engine
### Building Web Applications with Velocity
-Velocity is often used for building web applications. In order to use Velocity
in a web app you'll need a servlet or servlet-based framework. The easiest way
to get started is with [VelocityViewServlet](/tools/devel/view/) in the
[Velocity Tools](/tools/devel/) subproject. You can also use any of a number of
[third party framework](http://wiki.apache.org/velocity/PoweredByVelocity) or
build your own servlet using the techniques described in this document.
+Velocity is often used for building web applications. In order to use Velocity
in a web app you'll need a servlet or servlet-based framework. The easiest way
to get started is with [VelocityViewServlet](/tools/devel/view-servlet.html) in
the [Velocity Tools](/tools/devel/) subproject. You can also use any of a
number of [third party
framework](http://wiki.apache.org/velocity/PoweredByVelocity) or build your own
servlet using the techniques described in this document.
We suggest you read this article on [getting started with web
applications](webapps.html) for more detail on the various options.
@@ -312,7 +312,7 @@ It is possible that your VelocityContext
## Using Velocity
-If you are using [VelocityViewServlet](/tools/devel/view/) or other web
frameworks, you may never call Velocity directly. However, if you use Velocity
for non-web purposes, or create your own web framework you will need to
directly call the Velocity Engine similar to <a
href="#thefundamentalpattern">the fundamental pattern</a> shown earlier. One
important additional thing to remember is to initialize the Velocity Engine
before using it to merge templates.
+If you are using [VelocityViewServlet](/tools/devel/view-servlet.html) or
other web frameworks, you may never call Velocity directly. However, if you
use Velocity for non-web purposes, or create your own web framework you will
need to directly call the Velocity Engine similar to <a
href="#thefundamentalpattern">the fundamental pattern</a> shown earlier. One
important additional thing to remember is to initialize the Velocity Engine
before using it to merge templates.
### The Velocity Helper Class
@@ -1058,7 +1058,7 @@ There are currently four kinds of resour
+ `file.resource.loader.cache` = true/false
+ `file.resource.loader.modificationCheckInterval` = <seconds between
checks>
- This is the default loader, and is configured, by default to get templates
from the 'current directory'. In the case of using Velocity with servlets,
this can be a problem as you don't want to have to keep your templates in the
directory from which you start your servlet engine. See the documentation for
your servlet or web framework (for example [VelocityViewServlet](/devel/view/))
for more info on how to configure the location of the Velocity templates.
+ This is the default loader, and is configured, by default to get templates
from the 'current directory'. In the case of using Velocity with servlets,
this can be a problem as you don't want to have to keep your templates in the
directory from which you start your servlet engine. See the documentation for
your servlet or web framework (for example
[VelocityViewServlet](/tools/devel/view-servlet.html)) for more info on how to
configure the location of the Velocity templates.
+ **JarResourceLoader :** This loader gets resource from specific jar files.
It is very similar to the FileResourceLoader, except that you have the
convenience of bundling your templates into jars. The properties are
identical, except for `jar.resource.loader.path`, where you provide the full
location of the jar(s) you wish to load resources from. To specify a jar for
the loader.path you use the standard JAR URL syntax of
`java.net.JarURLConnection`.
Modified: velocity/site/cms/trunk/content/engine/1.7/webapps.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/1.7/webapps.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/1.7/webapps.mdtext (original)
+++ velocity/site/cms/trunk/content/engine/1.7/webapps.mdtext Tue May 17
10:44:17 2016
@@ -33,7 +33,7 @@ The default Velocity Engine settings mak
Really, any of the other ResourceLoader implementations out there are
preferred, but all the other ResourceLoaders shipped with Velocity Engine will
require you to store your templates somewhere besides the standard file system
(e.g. in the classpath, in a database, or on a remote server). If that works
for you, then great! However, we recognize that these are not convenient for
most people's development cycle.
-The simplest replacement for FileResourceLoader in a web application is
actually a part of the VelocityTools project. It is the
[WebappResourceLoader](/tools/devel/javadoc/org/apache/velocity/tools/view/WebappResourceLoader.html)
This ResourceLoader implementation is specifically designed to work just like
the FileResourceLoader, but it is aware of the servlet context and allows you
to configure resource paths relative to the servlet root, rather than the local
file system.
+The simplest replacement for FileResourceLoader in a web application is
actually a part of the VelocityTools project. It is the
[WebappResourceLoader](/tools/devel/apidocs/org/apache/velocity/tools/view/WebappResourceLoader.html)
This ResourceLoader implementation is specifically designed to work just like
the FileResourceLoader, but it is aware of the servlet context and allows you
to configure resource paths relative to the servlet root, rather than the local
file system.
If you are using the VelocityViewServlet, then it is automatically configured
and ready to use the WebappResourceLoader. So if you want to change the
configured path(s), you need only add a line like the following to your
velocity.properties:
Modified: velocity/site/cms/trunk/content/engine/devel/developer-guide.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/devel/developer-guide.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/devel/developer-guide.mdtext
(original)
+++ velocity/site/cms/trunk/content/engine/devel/developer-guide.mdtext Tue May
17 10:44:17 2016
@@ -11,7 +11,7 @@ Velocity is a Java-based template engine
### Building Web Applications with Velocity
-Velocity is often used for building web applications. In order to use Velocity
in a web app you'll need a servlet or servlet-based framework. The easiest way
to get started is with [VelocityViewServlet](/tools/devel/view/) in the
[Velocity Tools](/tools/devel/) subproject. You can also use any of a number of
[third party framework](http://wiki.apache.org/velocity/PoweredByVelocity) or
build your own servlet using the techniques described in this document.
+Velocity is often used for building web applications. In order to use Velocity
in a web app you'll need a servlet or servlet-based framework. The easiest way
to get started is with [VelocityViewServlet](/tools/devel/view-servlet.html) in
the [Velocity Tools](/tools/devel/) subproject. You can also use any of a
number of [third party
framework](http://wiki.apache.org/velocity/PoweredByVelocity) or build your own
servlet using the techniques described in this document.
We suggest you read this article on [getting started with web
applications](webapps.html) for more detail on the various options.
@@ -319,7 +319,7 @@ It is possible that your VelocityContext
## Using Velocity
-If you are using [VelocityViewServlet](/tools/devel/view/) or other web
frameworks, you may never call Velocity directly. However, if you use Velocity
for non-web purposes, or create your own web framework you will need to
directly call the Velocity Engine similar to <a
href="#thefundamentalpattern">the fundamental pattern</a> shown earlier. One
important additional thing to remember is to initialize the Velocity Engine
before using it to merge templates.
+If you are using [VelocityViewServlet](/tools/devel/view-servlet.html) or
other web frameworks, you may never call Velocity directly. However, if you
use Velocity for non-web purposes, or create your own web framework you will
need to directly call the Velocity Engine similar to <a
href="#thefundamentalpattern">the fundamental pattern</a> shown earlier. One
important additional thing to remember is to initialize the Velocity Engine
before using it to merge templates.
### The Velocity Helper Class
@@ -921,7 +921,7 @@ There are currently four kinds of resour
+ `file.resource.loader.cache` = true/false
+ `file.resource.loader.modificationCheckInterval` = <seconds between
checks>
- This is the default loader, and is configured, by default to get templates
from the 'current directory'. In the case of using Velocity with servlets,
this can be a problem as you don't want to have to keep your templates in the
directory from which you start your servlet engine. See the documentation for
your servlet or web framework (for example [VelocityViewServlet](/devel/view/))
for more info on how to configure the location of the Velocity templates.
+ This is the default loader, and is configured, by default to get templates
from the 'current directory'. In the case of using Velocity with servlets,
this can be a problem as you don't want to have to keep your templates in the
directory from which you start your servlet engine. See the documentation for
your servlet or web framework (for example
[VelocityViewServlet](/tools/devel/view-servlet.html)) for more info on how to
configure the location of the Velocity templates.
+ **JarResourceLoader :** This loader gets resource from specific jar files.
It is very similar to the FileResourceLoader, except that you have the
convenience of bundling your templates into jars. The properties are
identical, except for `jar.resource.loader.path`, where you provide the full
location of the jar(s) you wish to load resources from. To specify a jar for
the loader.path you use the standard JAR URL syntax of
`java.net.JarURLConnection`.
Modified: velocity/site/cms/trunk/content/engine/devel/webapps.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/engine/devel/webapps.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/engine/devel/webapps.mdtext (original)
+++ velocity/site/cms/trunk/content/engine/devel/webapps.mdtext Tue May 17
10:44:17 2016
@@ -33,7 +33,7 @@ The default Velocity Engine settings mak
Really, any of the other ResourceLoader implementations out there are
preferred, but all the other ResourceLoaders shipped with Velocity Engine will
require you to store your templates somewhere besides the standard file system
(e.g. in the classpath, in a database, or on a remote server). If that works
for you, then great! However, we recognize that these are not convenient for
most people's development cycle.
-The simplest replacement for FileResourceLoader in a web application is
actually a part of the VelocityTools project. It is the
[WebappResourceLoader](/tools/devel/javadoc/org/apache/velocity/tools/view/WebappResourceLoader.html)
This ResourceLoader implementation is specifically designed to work just like
the FileResourceLoader, but it is aware of the servlet context and allows you
to configure resource paths relative to the servlet root, rather than the local
file system.
+The simplest replacement for FileResourceLoader in a web application is
actually a part of the VelocityTools project. It is the
[WebappResourceLoader](/tools/devel/apidocs/org/apache/velocity/tools/view/WebappResourceLoader.html)
This ResourceLoader implementation is specifically designed to work just like
the FileResourceLoader, but it is aware of the servlet context and allows you
to configure resource paths relative to the servlet root, rather than the local
file system.
If you are using the VelocityViewServlet, then it is automatically configured
and ready to use the WebappResourceLoader. So if you want to change the
configured path(s), you need only add a line like the following to your
velocity.properties:
Modified: velocity/site/cms/trunk/content/tools/2.0/config-java.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/config-java.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/config-java.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/config-java.mdtext Tue May 17
10:44:17 2016
@@ -22,4 +22,4 @@ As of VelocityTools 2, its no longer mer
config.data("dataKeys", "list",
"version,date,isSimple,foo,bar,dataKeys,switches");
config.data("switches", "list.boolean", "true,false,false,true");
-This example uses the
[EasyFactoryConfiguration](javadoc/org/apache/velocity/tools/config/EasyFactoryConfiguration.html)
API for brevity, but you can also directly use the
[FactoryConfiguration](javadoc/org/apache/velocity/tools/config/FactoryConfiguration.html)/
[ToolboxConfiguration](javadoc/org/apache/velocity/tools/config/ToolboxConfiguration.html)/
[ToolConfiguration](javadoc/org/apache/velocity/tools/config/ToolConfiguration.html)/
[Data](javadoc/org/apache/velocity/tools/config/Data.html) API, as you would
probably do if you were to construct your configuration via a dependency
injection framework (such as Spring).
+This example uses the
[EasyFactoryConfiguration](apidocs/org/apache/velocity/tools/config/EasyFactoryConfiguration.html)
API for brevity, but you can also directly use the
[FactoryConfiguration](apidocs/org/apache/velocity/tools/config/FactoryConfiguration.html)/
[ToolboxConfiguration](apidocs/org/apache/velocity/tools/config/ToolboxConfiguration.html)/
[ToolConfiguration](apidocs/org/apache/velocity/tools/config/ToolConfiguration.html)/
[Data](apidocs/org/apache/velocity/tools/config/Data.html) API, as you would
probably do if you were to construct your configuration via a dependency
injection framework (such as Spring).
Modified: velocity/site/cms/trunk/content/tools/2.0/configuration.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/configuration.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/configuration.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/configuration.mdtext Tue May 17
10:44:17 2016
@@ -8,7 +8,7 @@ The default VelocityTools 2 configuratio
However, it is likely that you will want to add your own data and tools to
your VelocityTools 2 configuration or at least want to change the default
settings of the standard tools. To that end, configuration of your
applications "toolbox(es)" can be done via XML, Java or properties. Different
configurations can also be easily combined together.
-There a few basic concepts to the configuration that it is useful to know.
First, what you are creating a configuration for is a
[ToolboxFactory](javadoc/org/apache/velocity/tools/ToolboxFactory.html). This
factory produces your toolbox(es) as needed by [VelocityView](view.html) or
your own application. A factory can have any number of toolboxes, all
distinguished by their scope property. There are three special scopes
automatically recognized by VelocityTools 2: "request", "application", and
"session". The "session" scope is only relevant within a
[VelocityView](view.html) app, but the other two may be useful anywhere.
Placing a tool within "request" scope means that a new instance will be created
for every context. Placing a tool within "application" scope means that only
one instance of the tool will be created and shared throughout the application,
effectively acting as a singleton. This, of course, means that thread-safety
must be considered when putting a tool in "applicat
ion" scope.
+There a few basic concepts to the configuration that it is useful to know.
First, what you are creating a configuration for is a
[ToolboxFactory](apidocs/org/apache/velocity/tools/ToolboxFactory.html). This
factory produces your toolbox(es) as needed by [VelocityView](view.html) or
your own application. A factory can have any number of toolboxes, all
distinguished by their scope property. There are three special scopes
automatically recognized by VelocityTools 2: "request", "application", and
"session". The "session" scope is only relevant within a
[VelocityView](view.html) app, but the other two may be useful anywhere.
Placing a tool within "request" scope means that a new instance will be created
for every context. Placing a tool within "application" scope means that only
one instance of the tool will be created and shared throughout the application,
effectively acting as a singleton. This, of course, means that thread-safety
must be considered when putting a tool in "applicat
ion" scope.
Because of such concerns, Velocity Tools now provides annotations to allow
developers to restrict the scope(s) in which a tool can be placed. For more on
these and other available annotations, see [Creating Your Own
Tools](creating-tools.html).
Modified: velocity/site/cms/trunk/content/tools/2.0/creating-tools.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/creating-tools.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/creating-tools.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/creating-tools.mdtext Tue May 17
10:44:17 2016
@@ -65,9 +65,9 @@ Apart from custom properties you may def
## Annotations
-There are three Annotations provided for tool authors:
[DefaultKey](javadoc/org/apache/velocity/tools/config/DefaultKey.html),
[InvalidScope](javadoc/org/apache/velocity/tools/config/InvalidScope.html) and
[ValidScope](javadoc/org/apache/velocity/tools/config/ValidScope.html).
+There are three Annotations provided for tool authors:
[DefaultKey](apidocs/org/apache/velocity/tools/config/DefaultKey.html),
[InvalidScope](apidocs/org/apache/velocity/tools/config/InvalidScope.html) and
[ValidScope](apidocs/org/apache/velocity/tools/config/ValidScope.html).
-As described above, the @DefaultKey annotation is used to specify a default
key for your tool. The @InvalidScope and @ValidScope annotations allow you to
restrict the [Scope](javadoc/org/apache/velocity/tools/Scope.html)(s) in which
the tool can be used in either negative or positive terms. When described
positively using the @ValidScope annotation, the tool may **only** be used in a
toolbox with the specified scope. If placed in any other toolbox, an
`org.apache.velocity.tools.config.InvalidScopeException` will be thrown. Using
@InvalidScope, on the other hand, allows you reject specific scope(s), whilst
implicitly allowing any others.
+As described above, the @DefaultKey annotation is used to specify a default
key for your tool. The @InvalidScope and @ValidScope annotations allow you to
restrict the [Scope](apidocs/org/apache/velocity/tools/Scope.html)(s) in which
the tool can be used in either negative or positive terms. When described
positively using the @ValidScope annotation, the tool may **only** be used in a
toolbox with the specified scope. If placed in any other toolbox, an
`org.apache.velocity.tools.config.InvalidScopeException` will be thrown. Using
@InvalidScope, on the other hand, allows you reject specific scope(s), whilst
implicitly allowing any others.
Here's a scope annotation example:
@@ -81,21 +81,21 @@ Here's a scope annotation example:
### Base Classes
-[SafeConfig](javadoc/org/apache/velocity/tools/generic/SafeConfig.html) - This
serves as a base class for tools who need to have their configuration be
read-only for thread-safety or other reasons. By default, tools which extend
this can only be configured once.
+[SafeConfig](apidocs/org/apache/velocity/tools/generic/SafeConfig.html) - This
serves as a base class for tools who need to have their configuration be
read-only for thread-safety or other reasons. By default, tools which extend
this can only be configured once.
-[LocaleConfig](javadoc/org/apache/velocity/tools/generic/LocaleConfig.html) -
Subclass of SafeConfig that has standardized support for configuring a Locale
for the tool to use as its default.
+[LocaleConfig](apidocs/org/apache/velocity/tools/generic/LocaleConfig.html) -
Subclass of SafeConfig that has standardized support for configuring a Locale
for the tool to use as its default.
-[FormatConfig](javadoc/org/apache/velocity/tools/generic/FormatConfig.html) -
Subclass of LocaleConfig that has standardized support for providing a format
string value for the tool to use as its default.
+[FormatConfig](apidocs/org/apache/velocity/tools/generic/FormatConfig.html) -
Subclass of LocaleConfig that has standardized support for providing a format
string value for the tool to use as its default.
### Utility Classes
-[ClassUtils](javadoc/org/apache/velocity/tools/ClassUtils.html) - Provides
utility methods for loading classes, finding methods, accessing static field
values, and more.
+[ClassUtils](apidocs/org/apache/velocity/tools/ClassUtils.html) - Provides
utility methods for loading classes, finding methods, accessing static field
values, and more.
-[ConversionUtils](javadoc/org/apache/velocity/tools/ConversionUtils.html) -
Provides utility methods for common type conversions/value parsing.
+[ConversionUtils](apidocs/org/apache/velocity/tools/ConversionUtils.html) -
Provides utility methods for common type conversions/value parsing.
-[ServletUtils](javadoc/org/apache/velocity/tools/view/ServletUtils.html) -
Utility methods for the servlet environment, mostly centered on accessing the
VelocityView or tool instances handled thereby.
+[ServletUtils](apidocs/org/apache/velocity/tools/view/ServletUtils.html) -
Utility methods for the servlet environment, mostly centered on accessing the
VelocityView or tool instances handled thereby.
-[ValueParser] (javadoc/org/apache/velocity/tools/generic/ValueParser.html) -
Used to retrieve and parse (aka convert) String values pulled from a map; this
is mostly commonly used directly by other tools rather than within templates.
+[ValueParser] (apidocs/org/apache/velocity/tools/generic/ValueParser.html) -
Used to retrieve and parse (aka convert) String values pulled from a map; this
is mostly commonly used directly by other tools rather than within templates.
## Designing Template-Friendly Interfaces
@@ -114,7 +114,7 @@ Always return null on errors! No Excepti
This, of course, assumes that quiet notation is not being used for that
reference. For this reason, it may be prudent to give your tool access to a
logging facility in order to log exceptions and make sure important errors are
not silently swallowed. Standard tool management for VelocityTools (even just
GenericTools) makes the result of `velocityEngine.getLog()` available to tools
as a property under the key "log". So log access can be added as simply as
adding a `public void setLog(org.apache.velocity.runtime.log.Log log)` method
and utilizing the provided Log instance.
-If you wish to toggle the exception catching or, more importantly, if you
prefer to catch exceptions globally with a Velocity Event Handler, then have
your tool watch for the "catchExceptions" property. This is `false` by
default, but if the VelocityEngine has a MethodExceptionEventHandler
configured, then it will be automatically set to `true`. Again, just add a
`public void setCatchExceptions(boolean catch)` method to your tool or watch
for the "catchExceptions" property in your `public void configure(Map props)`
method. See
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html) for an
example of this.
+If you wish to toggle the exception catching or, more importantly, if you
prefer to catch exceptions globally with a Velocity Event Handler, then have
your tool watch for the "catchExceptions" property. This is `false` by
default, but if the VelocityEngine has a MethodExceptionEventHandler
configured, then it will be automatically set to `true`. Again, just add a
`public void setCatchExceptions(boolean catch)` method to your tool or watch
for the "catchExceptions" property in your `public void configure(Map props)`
method. See
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html) for an
example of this.
### Be Flexible
@@ -124,13 +124,13 @@ Of course, there may be times when you w
### Be Careful
-The first thing to remember is that all public methods declared in public
classes may be called from templates. If it is imperative that a method not be
called from a template, you must either change its permissions, its class's
permissions or else put some sort of guard into the implementation of the
method that renders it harmless when used by a template. See the
implementation of `configure(Map)` in
[SafeConfig](javadoc/org/apache/velocity/tools/generic/SafeConfig.html) for an
example of the latter option.
+The first thing to remember is that all public methods declared in public
classes may be called from templates. If it is imperative that a method not be
called from a template, you must either change its permissions, its class's
permissions or else put some sort of guard into the implementation of the
method that renders it harmless when used by a template. See the
implementation of `configure(Map)` in
[SafeConfig](apidocs/org/apache/velocity/tools/generic/SafeConfig.html) for an
example of the latter option.
The second thing to think about is thread-safety. If your tool maintains
internal state that is in any way changed by the calling of its public methods,
then your tool is not thread safe. The only thread-safe tools are those that
maintain no state or are otherwise immutable (e.g. return new, copied instances
w/changed state and leave original unchanged). If your tool is not thread-safe,
you should seriously consider [using a scope-limiting annotation](#Annotations)
to prevent such problems.
Thread-safety is, of course, most important if your tool is meant to be used
in "application" or "session" scoped toolboxes for web applications or any
other multi-threaded application. Allowing access to non-thread-safe tools in
those scopes can lead to all sorts of unpleasant problems. Please note that
sometimes request scope isn't safe either! if you #parse subtemplates or are
otherwise composing your page of separate pieces (e.g. Tiles) that may not know
what each other are doing at any one time.
-[SafeConfig](javadoc/org/apache/velocity/tools/generic/SafeConfig.html) and
its subclasses can help you have safely configurable tools in any scope. They
do this by only allowing the public `configure(Map)` method to be called once.
All other configuration methods should then be declared protected and the tool
cannot be re-configured by a template. This technique may, in the future, be
changed to allow you to replace the configure(Map) method with a constructor
that takes a Map of configuration properties, but for various reasons, this is
not currently the case.
+[SafeConfig](apidocs/org/apache/velocity/tools/generic/SafeConfig.html) and
its subclasses can help you have safely configurable tools in any scope. They
do this by only allowing the public `configure(Map)` method to be called once.
All other configuration methods should then be declared protected and the tool
cannot be re-configured by a template. This technique may, in the future, be
changed to allow you to replace the configure(Map) method with a constructor
that takes a Map of configuration properties, but for various reasons, this is
not currently the case.
As a final note here, if you really have good reason to use a mutable,
non-thread-safe application or session scoped tool, tool path restrictions can
help you limit possible damage here. Of course, this is something done purely
at the <a href="configuration.html">configuration</a> level and cannot be
currently defined by the tool itself.
@@ -144,9 +144,9 @@ Another handy technique available to too
In VelocityTools' standard set of tools, this practice is put into place often
and in a few different ways. Here's a few examples, out of the many tools which
make good use of fluent interfaces and a `get(key)` method.
-+ [ResourceTool](javadoc/org/apache/velocity/tools/generic/ResourceTool.html)
uses subtools to allow you to type `$text.org.com.Foo` instead of
`$text.get('org.com.Foo')` or worse, something very java-ish like
`$text.getResourceFromBundle('messages.properties', 'org.com.Foo')`. This is
achieved by having the get() method return a new instance of its `Key` subclass
that carries with it the value to be gotten. The Key, in turn, has a get()
method that does the same (and more), returning a new Key instance that carries
the concatenated values of both get() calls. And so on it goes, until the
final resulting value is rendered by Velocity calling the last Key's toString()
method.
-+ [LinkTool](javadoc/org/apache/velocity/tools/view/LinkTool.html) takes a
different approach. Rather than use a subclass as the subtool, it uses itself.
Almost every method in LinkTool returns a copy of the original instance with
the addition of the latest value. Both this approach and that of ResourceTool
provide great flexibility to the template author. They can use the tools
however they wish, with no concerns about thread collisions, shared state or
lifecycle. And with modern JVMs, the performance cost of this flexibility is
minimal--light object creation and reflection have become cheap and fast, and
short-lived instances like those created in the process are quickly garbage
collected.
-+ [ClassTool](javadoc/org/apache/velocity/tools/generic/ClassTool.html) uses
subtools to a somewhat different end. Rather than simply replicating the
interface of the parent, the subtools provide a natural interface wrapping
around the result of the previous call. This is done because the reflection
API provided by JavaSE is not at all template-friendly. ClassTool wraps almost
all returned methods, contructors and fields with subtools that continue to
provide a natural, template-friendly interface.
-+
[AlternatorTool](javadoc/org/apache/velocity/tools/generic/AlternatorTool.html)
falls into a very simple class of "subtool" uses. In this case, the
AlternatorTool class serves only as a factory for creating instances of the
separate Alternator class. In this case, the so-called "subtool" is really the
main thing and the tool exists solely to provide access to it.
-+ [LoopTool](javadoc/org/apache/velocity/tools/generic/LoopTool.html) might be
the strangest of them all. It is unlikely that you would find need to create
such a tool, but if you are curious, read on. LoopTool exists to add value and
convenience to using the #foreach directive. The methods on the main class are
either used when starting a #foreach loop or else for use during said loop. The
starting ones return a "subtool" of sorts called
[ManagedIterator](javadoc/org/apache/velocity/tools/generic/LoopTool.ManagedIterator.html),
which provides a few fluent methods for refinement of the loop control. The
final result of those, however, is largely just used by #foreach internally.
While the loop is going, however, the original LoopTool itself may be directly
used to observe and/or influence the ManagedIterator being used internally by
#foreach. This is because the main LoopTool keeps track of all its subtool
instances in a Stack. This is very different from most subtool situations,
where the tool and subtool are immediately disassociated.
++ [ResourceTool](apidocs/org/apache/velocity/tools/generic/ResourceTool.html)
uses subtools to allow you to type `$text.org.com.Foo` instead of
`$text.get('org.com.Foo')` or worse, something very java-ish like
`$text.getResourceFromBundle('messages.properties', 'org.com.Foo')`. This is
achieved by having the get() method return a new instance of its `Key` subclass
that carries with it the value to be gotten. The Key, in turn, has a get()
method that does the same (and more), returning a new Key instance that carries
the concatenated values of both get() calls. And so on it goes, until the
final resulting value is rendered by Velocity calling the last Key's toString()
method.
++ [LinkTool](apidocs/org/apache/velocity/tools/view/LinkTool.html) takes a
different approach. Rather than use a subclass as the subtool, it uses itself.
Almost every method in LinkTool returns a copy of the original instance with
the addition of the latest value. Both this approach and that of ResourceTool
provide great flexibility to the template author. They can use the tools
however they wish, with no concerns about thread collisions, shared state or
lifecycle. And with modern JVMs, the performance cost of this flexibility is
minimal--light object creation and reflection have become cheap and fast, and
short-lived instances like those created in the process are quickly garbage
collected.
++ [ClassTool](apidocs/org/apache/velocity/tools/generic/ClassTool.html) uses
subtools to a somewhat different end. Rather than simply replicating the
interface of the parent, the subtools provide a natural interface wrapping
around the result of the previous call. This is done because the reflection
API provided by JavaSE is not at all template-friendly. ClassTool wraps almost
all returned methods, contructors and fields with subtools that continue to
provide a natural, template-friendly interface.
++
[AlternatorTool](apidocs/org/apache/velocity/tools/generic/AlternatorTool.html)
falls into a very simple class of "subtool" uses. In this case, the
AlternatorTool class serves only as a factory for creating instances of the
separate Alternator class. In this case, the so-called "subtool" is really the
main thing and the tool exists solely to provide access to it.
++ [LoopTool](apidocs/org/apache/velocity/tools/generic/LoopTool.html) might be
the strangest of them all. It is unlikely that you would find need to create
such a tool, but if you are curious, read on. LoopTool exists to add value and
convenience to using the #foreach directive. The methods on the main class are
either used when starting a #foreach loop or else for use during said loop. The
starting ones return a "subtool" of sorts called
[ManagedIterator](apidocs/org/apache/velocity/tools/generic/LoopTool.ManagedIterator.html),
which provides a few fluent methods for refinement of the loop control. The
final result of those, however, is largely just used by #foreach internally.
While the loop is going, however, the original LoopTool itself may be directly
used to observe and/or influence the ManagedIterator being used internally by
#foreach. This is because the main LoopTool keeps track of all its subtool
instances in a Stack. This is very different from most subtool situations,
where the tool and subtool are immediately disassociated.
Modified: velocity/site/cms/trunk/content/tools/2.0/dependencies.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/dependencies.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/dependencies.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/dependencies.mdtext Tue May 17
10:44:17 2016
@@ -11,46 +11,46 @@ Note: Java version 1.5+ is required for
Jar Name | Version | Compile | Runtime | Notes
---------|---------|---------|---------|------
-commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](javadoc/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](javadoc/org/apache/velocity/tools/generic/SortTool.html)
+commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](apidocs/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](apidocs/org/apache/velocity/tools/generic/SortTool.html)
commons-collections | 3.1 | Yes | Yes | Velocity requires this.
commons-digester | 1.8 | Yes | Yes | Required for [xml
configuration](config-xml.html)
-commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](javadoc/org/apache/velocity/tools/generic/EscapeTool.html)
-commons-logging | 1.1 | Yes | Yes | Required for Digester and
[LogChuteCommonsLog](javadoc/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.html)
-dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html)
+commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](apidocs/org/apache/velocity/tools/generic/EscapeTool.html)
+commons-logging | 1.1 | Yes | Yes | Required for Digester and
[LogChuteCommonsLog](apidocs/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.html)
+dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html)
oro | 2.0+ | No | No | A Velocity dependency (only used by certain
EventHandlers)
-velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](javadoc/org/apache/velocity/tools/generic/ClassTool.html),
[LinkTool](javadoc/org/apache/velocity/tools/generic/LinkTool.html),
[LoopTool](javadoc/org/apache/velocity/tools/generic/LoopTool.html),
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html) and
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html)
+velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](apidocs/org/apache/velocity/tools/generic/ClassTool.html),
[LinkTool](apidocs/org/apache/velocity/tools/generic/LinkTool.html),
[LoopTool](apidocs/org/apache/velocity/tools/generic/LoopTool.html),
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html) and
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html)
### VelocityView
Jar Name | Version | Compile | Runtime | Notes
---------|---------|---------|---------|------
-commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](javadoc/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](javadoc/org/apache/velocity/tools/generic/SortTool.html)
+commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](apidocs/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](apidocs/org/apache/velocity/tools/generic/SortTool.html)
commons-collections | 3.1 | Yes | Yes | Velocity requires this.
commons-digester | 1.8 | Yes | Yes | Required for [xml
configuration](config-xml.html)
-commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](javadoc/org/apache/velocity/tools/generic/EscapeTool.html) and
[VelocityViewServlet](javadoc/org/apache/velocity/tools/view/VelocityViewServlet.html)
-commons-logging | 1.1 | Yes | Yes | Required for Digester and
[LogChuteCommonsLog](javadoc/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.html)
-dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html)
+commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](apidocs/org/apache/velocity/tools/generic/EscapeTool.html) and
[VelocityViewServlet](apidocs/org/apache/velocity/tools/view/VelocityViewServlet.html)
+commons-logging | 1.1 | Yes | Yes | Required for Digester and
[LogChuteCommonsLog](apidocs/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.html)
+dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html)
oro | 2.0+ | No | No | A Velocity dependency (only used by certain
EventHandlers)
-servletapi | 2.3+ | Yes | Yes | Required for all
[VelocityView](javadoc/org/apache/velocity/tools/view/package-summary.html)
tools except for
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html)
-velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](javadoc/org/apache/velocity/tools/generic/ClassTool.html),
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html),
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html),
[AbstractSearchTool](javadoc/org/apache/velocity/tools/view/AbstractSearchTool.html),
[ContextTool](javadoc/org/apache/velocity/tools/view/ContextTool.html),
[LinkTool](javadoc/org/apache/velocity/tools/view/LinkTool.html),
[LoopTool](javadoc/org/apache/velocity/tools/view/LoopTool.html) and
[MultiViewsTool](javadoc/org/apache/velocity/tools/view/MultiViewsTool.html)
+servletapi | 2.3+ | Yes | Yes | Required for all
[VelocityView](apidocs/org/apache/velocity/tools/view/package-summary.html)
tools except for
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html)
+velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](apidocs/org/apache/velocity/tools/generic/ClassTool.html),
[LoopTool](apidocs/org/apache/velocity/tools/generic/LoopTool.html),
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html),
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html),
[AbstractSearchTool](apidocs/org/apache/velocity/tools/view/AbstractSearchTool.html),
[ViewContextTool](apidocs/org/apache/velocity/tools/view/ViewContextTool.html)
and [LinkTool](apidocs/org/apache/velocity/tools/view/LinkTool.html)
### VelocityStruts
Jar Name | Version | Compile | Runtime | Notes
---------|---------|---------|---------|------
-commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](javadoc/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](javadoc/org/apache/velocity/tools/generic/SortTool.html)
+commons-beanutils | 1.7.0 | Yes | Yes | Required for core infrastructure,
[MathTool](apidocs/org/apache/velocity/tools/generic/MathTool.html) and
[SortTool](apidocs/org/apache/velocity/tools/generic/SortTool.html)
commons-chain | 1.1 | No | Yes | Struts 1.3+ requires this.
commons-collections | 3.1 | Yes | Yes | Velocity requires this.
commons-digester | 1.8 | Yes | Yes | Required for [xml
configuration](config-xml.html)
-commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](javadoc/org/apache/velocity/tools/generic/EscapeTool.html) and
[VelocityViewServlet](javadoc/org/apache/velocity/tools/view/VelocityViewServlet.html)
+commons-lang | 2.1 | Yes | No | Required for
[EscapeTool](apidocs/org/apache/velocity/tools/generic/EscapeTool.html) and
[VelocityViewServlet](apidocs/org/apache/velocity/tools/view/VelocityViewServlet.html)
commons-logging | 1.1 | Yes | Yes | Required for Struts, Digester, and
LogChuteCommonsLog
-dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html)
-struts-core | 1.3.8 | Yes | Yes | Required for all
[VelocityStruts](javadoc/org/apache/velocity/tools/struts/package-summary.html)
tools
-struts-taglib | 1.3.8 | Yes | Yes | Required for
[FormTool](javadoc/org/apache/velocity/tools/struts/FormTool.html),
[SecureLinkTool](javadoc/org/apache/velocity/tools/struts/SecureLinkTool.html)
and
[StrutsLinkTool](javadoc/org/apache/velocity/tools/struts/StrutsLinkTool.html)
-struts-tiles | 1.3.8 | Yes | Yes | Required for
[TilesTool](javadoc/org/apache/velocity/tools/struts/TilesTool.html)
-ssl-ext | 1.2 | Yes | No | Required for
[SecureLinkTool](javadoc/org/apache/velocity/tools/struts/SecureLinkTool.html)
-commons-validator | 1.3.1 | Yes | Yes | Required for
[ValidatorTool](javadoc/org/apache/velocity/tools/struts/ValidatorTool.html)
+dom4j | 1.1+ | Yes | No | Required only for
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html)
+struts-core | 1.3.8 | Yes | Yes | Required for all
[VelocityStruts](apidocs/org/apache/velocity/tools/struts/package-summary.html)
tools
+struts-taglib | 1.3.8 | Yes | Yes | Required for
[FormTool](apidocs/org/apache/velocity/tools/struts/FormTool.html),
[SecureLinkTool](apidocs/org/apache/velocity/tools/struts/SecureLinkTool.html)
and
[StrutsLinkTool](apidocs/org/apache/velocity/tools/struts/StrutsLinkTool.html)
+struts-tiles | 1.3.8 | Yes | Yes | Required for
[TilesTool](apidocs/org/apache/velocity/tools/struts/TilesTool.html)
+ssl-ext | 1.2 | Yes | No | Required for
[SecureLinkTool](apidocs/org/apache/velocity/tools/struts/SecureLinkTool.html)
+commons-validator | 1.3.1 | Yes | Yes | Required for
[ValidatorTool](apidocs/org/apache/velocity/tools/struts/ValidatorTool.html)
oro | 2.0+ | No | No | A Velocity dependency (only used by certain
EventHandlers)
-servletapi | 2.3+ | Yes | Yes | Required for all
[VelocityStruts](javadoc/org/apache/velocity/tools/struts/package-summary.html)
tools and all
[VelocityView](javadoc/org/apache/velocity/tools/view/package-summary.html)
tools except for
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html)
-velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](javadoc/org/apache/velocity/tools/generic/ClassTool.html),
[RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html),
[XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html),
[AbstractSearchTool](javadoc/org/apache/velocity/tools/view/AbstractSearchTool.html),
[ContextTool](javadoc/org/apache/velocity/tools/view/ContextTool.html),
[LinkTool](javadoc/org/apache/velocity/tools/view/LinkTool.html),
[LoopTool](javadoc/org/apache/velocity/tools/view/LoopTool.html),
[MultiViewsTool](javadoc/org/apache/velocity/tools/view/MultiViewsTool.html),
[SecureLinkTool](javadoc/org/apache/velocity/tools/struts/SecureLinkTool.html),
[StrutsLinkTool](javadoc/org/apache/velocity/tools/struts/StrutsLinkTool.html),
[TilesTool](javadoc/org/apache/velocity/tools/struts/TilesTool.html) and
[MessageTool](javadoc/org/apache/velocity/tools/struts/MessageTool.html)
+servletapi | 2.3+ | Yes | Yes | Required for all
[VelocityStruts](apidocs/org/apache/velocity/tools/struts/package-summary.html)
tools and all
[VelocityView](apidocs/org/apache/velocity/tools/view/package-summary.html)
tools except for
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html)
+velocity | 1.5+ | Yes | Yes | Required for core infrastructure,
[ClassTool](apidocs/org/apache/velocity/tools/generic/ClassTool.html),
[RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html),
[XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html),
[AbstractSearchTool](apidocs/org/apache/velocity/tools/view/AbstractSearchTool.html),
[ViewContextTool](apidocs/org/apache/velocity/tools/view/ViewContextTool.html),
[LinkTool](apidocs/org/apache/velocity/tools/view/LinkTool.html),
[LoopTool](apidocs/org/apache/velocity/tools/view/LoopTool.html),
[MultiViewsTool](apidocs/org/apache/velocity/tools/view/MultiViewsTool.html),
[SecureLinkTool](apidocs/org/apache/velocity/tools/struts/SecureLinkTool.html),
[StrutsLinkTool](apidocs/org/apache/velocity/tools/struts/StrutsLinkTool.html),
[TilesTool](apidocs/org/apache/velocity/tools/struts/TilesTool.html) and
[MessageTool](apidocs/org/apache/velocity/tools/struts/MessageTool.html)
Modified: velocity/site/cms/trunk/content/tools/2.0/frameworks.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/frameworks.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/frameworks.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/frameworks.mdtext Tue May 17
10:44:17 2016
@@ -12,7 +12,7 @@ VelocityTools is not meant to be a frame
### Configuring
-[VelocityView](javadoc/org/apache/velocity/tools/view/VelocityView.html)
supports the following configuration parameters as <init-param>s in web.xml:
+[VelocityView](apidocs/org/apache/velocity/tools/view/VelocityView.html)
supports the following configuration parameters as <init-param>s in web.xml:
org.apache.velocity.toolbox
: Path and name of the toolbox configuration file. The path must be relative
to the web application root directory. If this parameter is not found, the
servlet will check for a toolbox file at `/WEB-INF/tools.xml`.
Modified: velocity/site/cms/trunk/content/tools/2.0/generic.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/generic.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/generic.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/generic.mdtext Tue May 17
10:44:17 2016
@@ -14,20 +14,20 @@ The dependencies required for GenericToo
## Tools
-+
[AlternatorTool](javadoc/org/apache/velocity/tools/generic/AlternatorTool.html)
- For creating
[Alternator](javadoc/org/apache/velocity/tools/generic/Alternator.html)s to
easily alternate over a set of values.
-+ [ClassTool](javadoc/org/apache/velocity/tools/generic/ClassTool.html) - For
simplifying reflective lookup of information about Classes and their fields,
methods and constructors.
-+ [ContextTool](javadoc/org/apache/velocity/tools/generic/ContextTool.html) -
For convenient access to Context data and meta-data.
-+
[ConversionTool](javadoc/org/apache/velocity/tools/generic/ConversionTool.html)
- For converting String values to richer object types.
-+ [DateTool](javadoc/org/apache/velocity/tools/generic/DateTool.html) &
[ComparisonDateTool](javadoc/org/apache/velocity/tools/generic/ComparisonDateTool.html)
- For manipulating, formatting, and comparing dates.
-+ [DisplayTool](javadoc/org/apache/velocity/tools/generic/DisplayTool.html) -
For controlling display of references (e.g. truncating values, "pretty
printing" lists, and displaying alternates when a reference is null).
-+ [EscapeTool](javadoc/org/apache/velocity/tools/generic/EscapeTool.html) -
For common escaping needs in Velocity templates (e.g. escaping html, xml,
javascript etc.).
-+ [FieldTool](javadoc/org/apache/velocity/tools/generic/FieldTool.html) - For
(easy) access to static fields in a class, such as string constants.
-+ [LoopTool](javadoc/org/apache/velocity/tools/generic/LoopTool.html) - A
convenience tool to use with #foreach loops. It wraps a list with a custom
iterator to provide greater control, allowing loops to end early, skip ahead
and more.
-+ [LinkTool](javadoc/org/apache/velocity/tools/generic/LinkTool.html) - For
creating and manipulating URIs and URLs. The API for this tool is designed to
closely resemble that of the VelocityView tool of the same name.
-+ [ListTool](javadoc/org/apache/velocity/tools/generic/ListTool.html) - For
working with arrays and lists, treats both transparently the same.
-+ [MathTool](javadoc/org/apache/velocity/tools/generic/MathTool.html) - For
performing math functions.
-+ [NumberTool](javadoc/org/apache/velocity/tools/generic/NumberTool.html) -
For formatting and converting numbers.
-+ [RenderTool](javadoc/org/apache/velocity/tools/generic/RenderTool.html) - To
evaluate and render arbitrary strings of VTL, including recursive rendering.
-+ [ResourceTool](javadoc/org/apache/velocity/tools/generic/ResourceTool.html)
- For simplified access to ResourceBundles for internationalization or other
dynamic content needs.
-+ [SortTool](javadoc/org/apache/velocity/tools/generic/SortTool.html) - Used
to sort collections (or arrays, iterators, etc) on any arbitary set of
properties exposed by the objects contained within the collection.
-+ [XmlTool](javadoc/org/apache/velocity/tools/generic/XmlTool.html) - For
reading/navigating XML files. This uses dom4j under the covers and provides
complete XPath support.
++
[AlternatorTool](apidocs/org/apache/velocity/tools/generic/AlternatorTool.html)
- For creating
[Alternator](apidocs/org/apache/velocity/tools/generic/Alternator.html)s to
easily alternate over a set of values.
++ [ClassTool](apidocs/org/apache/velocity/tools/generic/ClassTool.html) - For
simplifying reflective lookup of information about Classes and their fields,
methods and constructors.
++ [ContextTool](apidocs/org/apache/velocity/tools/generic/ContextTool.html) -
For convenient access to Context data and meta-data.
++
[ConversionTool](apidocs/org/apache/velocity/tools/generic/ConversionTool.html)
- For converting String values to richer object types.
++ [DateTool](apidocs/org/apache/velocity/tools/generic/DateTool.html) &
[ComparisonDateTool](apidocs/org/apache/velocity/tools/generic/ComparisonDateTool.html)
- For manipulating, formatting, and comparing dates.
++ [DisplayTool](apidocs/org/apache/velocity/tools/generic/DisplayTool.html) -
For controlling display of references (e.g. truncating values, "pretty
printing" lists, and displaying alternates when a reference is null).
++ [EscapeTool](apidocs/org/apache/velocity/tools/generic/EscapeTool.html) -
For common escaping needs in Velocity templates (e.g. escaping html, xml,
javascript etc.).
++ [FieldTool](apidocs/org/apache/velocity/tools/generic/FieldTool.html) - For
(easy) access to static fields in a class, such as string constants.
++ [LoopTool](apidocs/org/apache/velocity/tools/generic/LoopTool.html) - A
convenience tool to use with #foreach loops. It wraps a list with a custom
iterator to provide greater control, allowing loops to end early, skip ahead
and more.
++ [LinkTool](apidocs/org/apache/velocity/tools/generic/LinkTool.html) - For
creating and manipulating URIs and URLs. The API for this tool is designed to
closely resemble that of the VelocityView tool of the same name.
++ [ListTool](apidocs/org/apache/velocity/tools/generic/ListTool.html) - For
working with arrays and lists, treats both transparently the same.
++ [MathTool](apidocs/org/apache/velocity/tools/generic/MathTool.html) - For
performing math functions.
++ [NumberTool](apidocs/org/apache/velocity/tools/generic/NumberTool.html) -
For formatting and converting numbers.
++ [RenderTool](apidocs/org/apache/velocity/tools/generic/RenderTool.html) - To
evaluate and render arbitrary strings of VTL, including recursive rendering.
++ [ResourceTool](apidocs/org/apache/velocity/tools/generic/ResourceTool.html)
- For simplified access to ResourceBundles for internationalization or other
dynamic content needs.
++ [SortTool](apidocs/org/apache/velocity/tools/generic/SortTool.html) - Used
to sort collections (or arrays, iterators, etc) on any arbitary set of
properties exposed by the objects contained within the collection.
++ [XmlTool](apidocs/org/apache/velocity/tools/generic/XmlTool.html) - For
reading/navigating XML files. This uses dom4j under the covers and provides
complete XPath support.
Modified: velocity/site/cms/trunk/content/tools/2.0/left.nav
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/left.nav?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/left.nav (original)
+++ velocity/site/cms/trunk/content/tools/2.0/left.nav Tue May 17 10:44:17 2016
@@ -25,4 +25,4 @@
## Struts
* [Overview](struts.html)
* [User Guide](struts-user-guide.html)
-* [Tools](javadoc/org/apache/velocity/tools/struts/package-summary.html)
+* [Tools](apidocs/org/apache/velocity/tools/struts/package-summary.html)
Modified: velocity/site/cms/trunk/content/tools/2.0/struts-user-guide.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/struts-user-guide.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/struts-user-guide.mdtext
(original)
+++ velocity/site/cms/trunk/content/tools/2.0/struts-user-guide.mdtext Tue May
17 10:44:17 2016
@@ -236,13 +236,13 @@ A set of seven view tools is included wi
Context Key | Class | Remarks
------------|-------|--------
-$text |
[MessageTool](javadoc/org/apache/velocity/tools/struts/MessageTool.html) |
Provides access to the Struts application resources for internationalized text.
-$errors |
[ErrorTool](javadoc/org/apache/velocity/tools/struts/ErrorsTool.html) |
Provides methods to check for and output Struts error messages.
-$messages |
[ActionMessagesTool](javadoc/org/apache/velocity/tools/struts/ActionMessagesTool.html)
| Provides methods to work with Struts action messages.
-$link |
[StrutsLinkTool](javadoc/org/apache/velocity/tools/struts/StrutsLinkTool.html)
| Provides methods to work with URIs.
-$form | [FormTool](javadoc/org/apache/velocity/tools/struts/FormTool.html) |
Provides miscellaneous methods to work with forms and form beans in the context
of Struts applications.
-$tiles | [TilesTool](javadoc/org/apache/velocity/tools/struts/TilesTool.html)
| Provides miscellaneous methods to work with Tiles in the context of Struts
applications.
-$validator |
[ValidatorTool](javadoc/org/apache/velocity/tools/struts/ValidatorTool.html) |
Provides methods to dynamically generate javascript validation in the context
of Struts applications.
+$text |
[MessageTool](apidocs/org/apache/velocity/tools/struts/MessageTool.html) |
Provides access to the Struts application resources for internationalized text.
+$errors |
[ErrorTool](apidocs/org/apache/velocity/tools/struts/ErrorsTool.html) |
Provides methods to check for and output Struts error messages.
+$messages |
[ActionMessagesTool](apidocs/org/apache/velocity/tools/struts/ActionMessagesTool.html)
| Provides methods to work with Struts action messages.
+$link |
[StrutsLinkTool](apidocs/org/apache/velocity/tools/struts/StrutsLinkTool.html)
| Provides methods to work with URIs.
+$form | [FormTool](apidocs/org/apache/velocity/tools/struts/FormTool.html) |
Provides miscellaneous methods to work with forms and form beans in the context
of Struts applications.
+$tiles | [TilesTool](apidocs/org/apache/velocity/tools/struts/TilesTool.html)
| Provides miscellaneous methods to work with Tiles in the context of Struts
applications.
+$validator |
[ValidatorTool](apidocs/org/apache/velocity/tools/struts/ValidatorTool.html) |
Provides methods to dynamically generate javascript validation in the context
of Struts applications.
Note: The shown keys are the recommended values. They can be changed in the
configuration.
@@ -266,5 +266,5 @@ Then, the following script...
false
whatever
-Please see the [Tool Reference
Documentation](javadoc/org/apache/velocity/tools/struts/package-summary.html)
for more details about the view tools. Furthermore, the Velocity/Struts
[example application](index.html#Download) comes with several working examples
that show how these tools are used.
+Please see the [Tool Reference
Documentation](apidocs/org/apache/velocity/tools/struts/package-summary.html)
for more details about the view tools. Furthermore, the Velocity/Struts
[example application](index.html#Download) comes with several working examples
that show how these tools are used.
Modified: velocity/site/cms/trunk/content/tools/2.0/struts.mdtext
URL:
http://svn.apache.org/viewvc/velocity/site/cms/trunk/content/tools/2.0/struts.mdtext?rev=1744249&r1=1744248&r2=1744249&view=diff
==============================================================================
--- velocity/site/cms/trunk/content/tools/2.0/struts.mdtext (original)
+++ velocity/site/cms/trunk/content/tools/2.0/struts.mdtext Tue May 17 10:44:17
2016
@@ -30,15 +30,15 @@ The dependencies required for VelocitySt
These are in addition to tools provided by [GenericTools](generic.html#Tools)
and [VelocityView](view.html#Tools).
-+
[ActionMessagesTool](javadoc/org/apache/velocity/tools/struts/ActionMessagesTool.html)
- For accessing/displaying Struts action messages.
-+ [ErrorTool](javadoc/org/apache/velocity/tools/struts/ErrorsTool.java) - For
accessing/displaying Struts error messages.
-+ [FormTool](javadoc/org/apache/velocity/tools/struts/FormTool.html) - For
working with HTML forms in Struts apps.
-+
[MessageResourcesTool](javadoc/org/apache/velocity/tools/struts/MessageResourcesTool.html)
- Abstract view tool that provides access to Struts message resources.
-+ [MessageTool](javadoc/org/apache/velocity/tools/struts/MessageTool.html) -
Provides methods to render Struts application resources (for i18n and other
textual content access).
-+
[SecureLinkTool](javadoc/org/apache/velocity/tools/struts/SecureLinkTool.html)
- For using Struts SSL Extensions. It has the same interface as
[StrutsLinkTool](javadoc/org/apache/velocity/tools/struts/StrutsLinkTool.html)
and can function as a substitute if Struts 1.x and SSL Ext are installed.
-+
[StrutsLinkTool](javadoc/org/apache/velocity/tools/struts/StrutsLinkTool.html)
- Subclass of [LinkTool](javadoc/org/apache/velocity/tools/view/LinkTool.html)
for creating URI links in Struts by adding support for Struts actions and
forwards.
-+ [TilesTool](javadoc/org/apache/velocity/tools/struts/TilesTool.html) - For
using Struts-Tiles (not for Tiles 2!) in Velocity.
-+ [ValidatorTool](javadoc/org/apache/velocity/tools/struts/ValidatorTool.html)
- Uses Struts-Validator to produce client side javascript validation for your
forms.
++
[ActionMessagesTool](apidocs/org/apache/velocity/tools/struts/ActionMessagesTool.html)
- For accessing/displaying Struts action messages.
++ [ErrorTool](apidocs/org/apache/velocity/tools/struts/ErrorsTool.html) - For
accessing/displaying Struts error messages.
++ [FormTool](apidocs/org/apache/velocity/tools/struts/FormTool.html) - For
working with HTML forms in Struts apps.
++
[MessageResourcesTool](apidocs/org/apache/velocity/tools/struts/MessageResourcesTool.html)
- Abstract view tool that provides access to Struts message resources.
++ [MessageTool](apidocs/org/apache/velocity/tools/struts/MessageTool.html) -
Provides methods to render Struts application resources (for i18n and other
textual content access).
++
[SecureLinkTool](apidocs/org/apache/velocity/tools/struts/SecureLinkTool.html)
- For using Struts SSL Extensions. It has the same interface as
[StrutsLinkTool](apidocs/org/apache/velocity/tools/struts/StrutsLinkTool.html)
and can function as a substitute if Struts 1.x and SSL Ext are installed.
++
[StrutsLinkTool](apidocs/org/apache/velocity/tools/struts/StrutsLinkTool.html)
- Subclass of [LinkTool](apidocs/org/apache/velocity/tools/view/LinkTool.html)
for creating URI links in Struts by adding support for Struts actions and
forwards.
++ [TilesTool](apidocs/org/apache/velocity/tools/struts/TilesTool.html) - For
using Struts-Tiles (not for Tiles 2!) in Velocity.
++ [ValidatorTool](apidocs/org/apache/velocity/tools/struts/ValidatorTool.html)
- Uses Struts-Validator to produce client side javascript validation for your
forms.
## Examples