This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-site by this push: new 69a82c9 Updates production by Jenkins 69a82c9 is described below commit 69a82c9e1d41433449ad2a7065fae8f15c41b0dd Author: jenkins <bui...@apache.org> AuthorDate: Fri Oct 27 13:37:40 2017 +0000 Updates production by Jenkins --- ...=> annotation-paramter-filter-interceptor.html} | 58 +++++------- .../annotation-workflow-interceptor.html | 67 +++++++------- ...rceptor.html => clear-session-interceptor.html} | 47 ++++------ .../cookie-provider-interceptor.html | 37 ++++---- .../create-session-interceptor.html | 37 ++------ content/core-developers/default-properties.html | 2 - content/core-developers/interceptors.html | 100 ++++++++++++--------- content/core-developers/logger-interceptor.html | 24 +++-- ...tor.html => parameter-remover-interceptor.html} | 67 +++++++------- .../core-developers/parameters-interceptor.html | 4 +- content/core-developers/struts-default-xml.html | 6 +- content/core-developers/validation.html | 20 +++++ content/tag-developers/css-xhtml-theme.html | 8 -- content/tag-developers/simple-theme.html | 2 - content/tag-developers/xhtml-theme.html | 18 ---- 15 files changed, 219 insertions(+), 278 deletions(-) diff --git a/content/core-developers/create-session-interceptor.html b/content/core-developers/annotation-paramter-filter-interceptor.html similarity index 80% copy from content/core-developers/create-session-interceptor.html copy to content/core-developers/annotation-paramter-filter-interceptor.html index 9810e99..a5256d9 100644 --- a/content/core-developers/create-session-interceptor.html +++ b/content/core-developers/annotation-paramter-filter-interceptor.html @@ -7,7 +7,7 @@ <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <title>Create Session Interceptor</title> + <title>Annotation Parameter Filter Interceptor</title> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> @@ -125,54 +125,38 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> - <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/create-session-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="create-session-interceptor">Create Session Interceptor</h1> - -<p> - <p> - This interceptor creates the HttpSession if it doesn't exist, also SessionMap is recreated and put in ServletActionContext. - </p> - - <p> - This is particular useful when using the <@s.token> tag in freemarker templates. - The tag <b>do</b> require that a HttpSession is already created since freemarker commits - the response to the client immediately. - </p> -</p> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/annotation-paramter-filter-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="annotation-parameter-filter-interceptor">Annotation Parameter Filter Interceptor</h1> -<h2 id="parameters">Parameters</h2> - -<p> - <ul> - <li>None</li> - </ul> +<p>Annotation based version of <a href="parameter-filter-interceptor.html">Parameter Filter Interceptor</a>.</p> -</p> +<p>This interceptor must be placed in the stack before the <a href="parameters-interceptor.html">Parameters Interceptor</a>. +When a parameter matches a field that is marked {@link Blocked} then it is removed from the parameter map.</p> -<h2 id="extending-the-interceptor">Extending the Interceptor</h2> +<p>If an action class is marked with <code class="highlighter-rouge">BlockByDefault</code> then all parameters are removed unless a field on the Action exists +and is marked with <code class="highlighter-rouge">Allowed</code>.</p> -<p> - <ul> - <li>None</li> - </ul> +<h2 id="parameters">Parameters</h2> -</p> +<p>There are no parameters for this interceptor.</p> -<h2 id="examples">Examples</h2> +<h2 id="extending-the-interceptor">Extending the Interceptor</h2> -<div class="highlighter-rouge"><pre class="highlight"><code> - <span class="nt"><action</span> <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"createSession"</span><span class="nt">/></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> - <span class="nt"><result</span> <span class="na">name=</span><span class="s">"input"</span><span class="nt">></span>input_with_token_tag.ftl<span class="nt"></result></span> - <span class="nt"></action></span> +<p>There are no obvious extensions to the existing interceptor.</p> +<h2 id="examples">Examples</h2> +<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><action</span> <span class="na">name=</span><span class="s">"exampleAction"</span> <span class="na">class=</span><span class="s">"com.examples.ExampleAction"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"annotationParameterFilter"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> + <span class="nt"><result</span> <span class="na">name=</span><span class="s">"success"</span><span class="nt">></span>example.jsp<span class="nt"></result></span> +<span class="nt"></action></span> </code></pre> </div> - </section> </article> diff --git a/content/core-developers/annotation-workflow-interceptor.html b/content/core-developers/annotation-workflow-interceptor.html index 3638a25..7f0261b 100644 --- a/content/core-developers/annotation-workflow-interceptor.html +++ b/content/core-developers/annotation-workflow-interceptor.html @@ -7,7 +7,7 @@ <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <title>AnnotationWorkflowInterceptor</title> + <title>Annotation Workflow Interceptor</title> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> @@ -125,24 +125,24 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/annotation-workflow-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="annotationworkflowinterceptor">AnnotationWorkflowInterceptor</h1> - -<p> <p>Invokes any annotated methods on the action. Specifically, it supports the following - annotations:</p> - <ul> - <li> @{@link Before} - will be invoked before the action method. If the returned value is not null, it is - returned as the action result code</li> - <li> @{@link BeforeResult} - will be invoked after the action method but before the result execution</li> - <li> @{@link After} - will be invoked after the action method and result execution</li> - </ul> - - <p>There can be multiple methods marked with the same annotations, but the order of their execution - is not guaranteed. However, the annotated methods on the superclass chain are guaranteed to be invoked before the - annotated method in the current class in the case of a {@link Before} annotations and after, if the annotations is - {@link After}.</p> -</p> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="annotation-workflow-interceptor">Annotation Workflow Interceptor</h1> + +<p>Invokes any annotated methods on the action. Specifically, it supports the following annotations</p> + +<ul> + <li><code class="highlighter-rouge">@Before</code> - will be invoked before the action method. If the returned value is not null, it is returned as the action +result code</li> + <li>@<code class="highlighter-rouge">BeforeResult</code> - will be invoked after the action method but before the result execution</li> + <li><code class="highlighter-rouge">@After</code> - will be invoked after the action method and result execution</li> +</ul> + +<p>There can be multiple methods marked with the same annotations, but the order of their execution is not guaranteed. +However, the annotated methods on the superclass chain are guaranteed to be invoked before the annotated method in the current +class in the case of a {@link Before} annotations and after, if the annotations is <code class="highlighter-rouge">After</code></p> <h2 id="examples">Examples</h2> @@ -178,38 +178,31 @@ <span class="n">log</span> <span class="o">=</span> <span class="n">log</span> <span class="o">+</span> <span class="s">"-after"</span><span class="o">;</span> <span class="o">}</span> <span class="o">}</span> - </code></pre> </div> <p>Configure a stack in struts.xml that replaces the PrepareInterceptor with the AnnotationWorkflowInterceptor:</p> -<div class="highlighter-rouge"><pre class="highlight"><code> -<interceptor-stack name="annotatedStack"> - <interceptor-ref name="static-params"/> - <interceptor-ref name="params"/> - <interceptor-ref name="conversionError"/> - <interceptor-ref name="annotationWorkflow"/> -</interceptor-stack> - +<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><interceptor-stack</span> <span class="na">name=</span><span class="s">"annotatedStack"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"static-params"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"params"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"conversionError"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"annotationWorkflow"</span><span class="nt">/></span> +<span class="nt"></interceptor-stack></span> </code></pre> </div> <p>Given an Action, AnnotatedAction, add a reference to the AnnotationWorkflowInterceptor interceptor.</p> -<div class="highlighter-rouge"><pre class="highlight"><code> -<action name="AnnotatedAction" class="com.examples.AnnotatedAction"> - <interceptor-ref name="annotationWorkflow"/> - <result name="success" type="freemarker">good_result.ftl</result> -</action> - +<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><action</span> <span class="na">name=</span><span class="s">"AnnotatedAction"</span> <span class="na">class=</span><span class="s">"com.examples.AnnotatedAction"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"annotationWorkflow"</span><span class="nt">/></span> + <span class="nt"><result</span> <span class="na">name=</span><span class="s">"success"</span> <span class="na">type=</span><span class="s">"freemarker"</span><span class="nt">></span>good_result.ftl<span class="nt"></result></span> +<span class="nt"></action></span> </code></pre> </div> -<p> <p>With the interceptor applied and the action executed on <code>AnnotatedAction</code> the log - instance variable will contain <code>baseBefore-before-execute-beforeResult-after</code>.</p> -</p> - +<p>With the interceptor applied and the action executed on <code class="highlighter-rouge">AnnotatedAction</code> the log instance variable will contain +<code class="highlighter-rouge">baseBefore-before-execute-beforeResult-after</code>.</p> </section> </article> diff --git a/content/core-developers/cookie-provider-interceptor.html b/content/core-developers/clear-session-interceptor.html similarity index 84% copy from content/core-developers/cookie-provider-interceptor.html copy to content/core-developers/clear-session-interceptor.html index 853ea18..c98278b 100644 --- a/content/core-developers/cookie-provider-interceptor.html +++ b/content/core-developers/clear-session-interceptor.html @@ -7,7 +7,7 @@ <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <title>CookieProvider Interceptor</title> + <title>Create Session Interceptor</title> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> @@ -125,45 +125,32 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> - <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/cookie-provider-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="cookieprovider-interceptor">CookieProvider Interceptor</h1> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/clear-session-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="clear-session-interceptor">Clear Session Interceptor</h1> -<p> Allows actions to send cookies to client, action must implement {@link CookieProvider} - You must reference this interceptor in your default stack or in action's stack, see example below. +<p>This interceptor clears the HttpSession.</p> -</p> +<h2 id="parameters">Parameters</h2> -<p>Parameters</p> +<p>There are no parameters for this interceptor.</p> -<p> - none +<h2 id="extending-the-interceptor">Extending the Interceptor</h2> -</p> - -<p>Extending the Interceptor</p> - -<p> - <ul> - <li>addCookiesToResponse - this method applies cookie created by action to response</li> - </ul> - -</p> - -<p>Examples</p> - -<div class="highlighter-rouge"><pre class="highlight"><code> - <span class="nt"><action</span> <span class="err">...</span> <span class="nt">></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"cookieProvider"</span><span class="nt">/></span> - ... - <span class="nt"></action></span> +<p>There are no obvious extensions to the existing interceptor.</p> +<h2 id="examples">Examples</h2> +<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><action</span> <span class="na">name=</span><span class="s">"exampleAction"</span> <span class="na">class=</span><span class="s">"com.examples.ExampleAction"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"clearSession"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> + <span class="nt"><result</span> <span class="na">name=</span><span class="s">"success"</span><span class="nt">></span>example.jsp<span class="nt"></result></span> +<span class="nt"></action></span> </code></pre> </div> - </section> </article> diff --git a/content/core-developers/cookie-provider-interceptor.html b/content/core-developers/cookie-provider-interceptor.html index 853ea18..560a626 100644 --- a/content/core-developers/cookie-provider-interceptor.html +++ b/content/core-developers/cookie-provider-interceptor.html @@ -125,45 +125,38 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/cookie-provider-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="cookieprovider-interceptor">CookieProvider Interceptor</h1> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="cookie-provider-interceptor">Cookie Provider Interceptor</h1> -<p> Allows actions to send cookies to client, action must implement {@link CookieProvider} - You must reference this interceptor in your default stack or in action's stack, see example below. +<p>Allows actions to send cookies to client, action must implement <code class="highlighter-rouge">CookieProvider</code> interface. You must reference this +interceptor in your default stack or in action’s stack, see example below.</p> -</p> +<p>This interceptor clears the HttpSession.</p> -<p>Parameters</p> +<h2 id="parameters">Parameters</h2> -<p> - none +<ul> + <li><code class="highlighter-rouge">addCookiesToResponse</code> - this method applies cookie created by action to response</li> +</ul> -</p> +<h2 id="extending-the-interceptor">Extending the Interceptor</h2> -<p>Extending the Interceptor</p> +<p>There are no obvious extensions to the existing interceptor.</p> -<p> - <ul> - <li>addCookiesToResponse - this method applies cookie created by action to response</li> - </ul> +<h2 id="examples">Examples</h2> -</p> - -<p>Examples</p> - -<div class="highlighter-rouge"><pre class="highlight"><code> - <span class="nt"><action</span> <span class="err">...</span> <span class="nt">></span> +<div class="highlighter-rouge"><pre class="highlight"><code> <span class="nt"><action</span> <span class="err">...</span> <span class="nt">></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"cookieProvider"</span><span class="nt">/></span> ... <span class="nt"></action></span> - </code></pre> </div> - </section> </article> diff --git a/content/core-developers/create-session-interceptor.html b/content/core-developers/create-session-interceptor.html index 9810e99..84ce8de 100644 --- a/content/core-developers/create-session-interceptor.html +++ b/content/core-developers/create-session-interceptor.html @@ -125,54 +125,35 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/create-session-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + <h1 id="create-session-interceptor">Create Session Interceptor</h1> -<p> - <p> - This interceptor creates the HttpSession if it doesn't exist, also SessionMap is recreated and put in ServletActionContext. - </p> +<p>This interceptor creates the HttpSession if it doesn’t exist, also SessionMap is recreated and put in ServletActionContext.</p> - <p> - This is particular useful when using the <@s.token> tag in freemarker templates. - The tag <b>do</b> require that a HttpSession is already created since freemarker commits - the response to the client immediately. - </p> -</p> +<p>This is particular useful when using the <@s.token> tag in freemarker templates. The tag <strong>do</strong> require that +a HttpSession is already created since freemarker commits the response to the client immediately.</p> <h2 id="parameters">Parameters</h2> -<p> - <ul> - <li>None</li> - </ul> - -</p> +<p>There are no parameters for this interceptor.</p> <h2 id="extending-the-interceptor">Extending the Interceptor</h2> -<p> - <ul> - <li>None</li> - </ul> - -</p> +<p>There are no obvious extensions to the existing interceptor.</p> <h2 id="examples">Examples</h2> -<div class="highlighter-rouge"><pre class="highlight"><code> - <span class="nt"><action</span> <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">></span> +<div class="highlighter-rouge"><pre class="highlight"><code> <span class="nt"><action</span> <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"createSession"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> <span class="nt"><result</span> <span class="na">name=</span><span class="s">"input"</span><span class="nt">></span>input_with_token_tag.ftl<span class="nt"></result></span> <span class="nt"></action></span> - - </code></pre> </div> - </section> </article> diff --git a/content/core-developers/default-properties.html b/content/core-developers/default-properties.html index bbd3685..6eb1af8 100644 --- a/content/core-developers/default-properties.html +++ b/content/core-developers/default-properties.html @@ -142,8 +142,6 @@ on the classpath, but it is typically found under <code class="highlighter-rouge <p><strong>default.properties</strong></p> <figure class="highlight"><pre><code class="language-txt" data-lang="txt"># -# $Id$ -# # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index 25df78f..d84694f 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -228,8 +228,6 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="cp"><?xml version="1.0" encoding="UTF-8" ?></span> <span class="c"><!-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -450,7 +448,8 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"modelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"scopedModelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"params"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ParametersInterceptor"</span><span class="nt">/></span> - <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionMappingParametersInteceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"paramRemover"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionMappingParametersInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"prepare"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.PrepareInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"staticParams"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"scope"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ScopeInterceptor"</span><span class="nt">/></span> @@ -466,6 +465,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"profiling"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ProfilingActivationInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"roles"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.RolesInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"annotationWorkflow"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"</span> <span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"annotationParameterFilter"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.annotations.AnnotationParameterFilterInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"multiselect"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.MultiselectInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"noop"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.NoOpInterceptor"</span> <span class="nt">/></span> @@ -648,6 +648,16 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Converts similar parameters that may be named differently between requests.</td> </tr> <tr> + <td><a href="annotation-parameter-filter-interceptor.html">Annotation Parameter Filter Interceptor</a></td> + <td>annotationParameterFilter</td> + <td>Annotation based version of <a href="parameter-filter-interceptor.html">Parameter Filter Interceptor</a>.</td> + </tr> + <tr> + <td><a href="annotation-workflow-interceptor.html">Annotation Workflow Interceptor</a></td> + <td>annotationWorkflow</td> + <td>Invokes any annotated methods on the action.</td> + </tr> + <tr> <td><a href="chaining-interceptor.html">Chaining Interceptor</a></td> <td>chain</td> <td>Makes the previous Action’s properties available to the current Action. Commonly used together with <result type="chain"> (in the previous Action).</result></td> @@ -658,6 +668,11 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Adds automatic checkbox handling code that detect an unchecked checkbox and add it as a parameter with a default (usually ‘false’) value. Uses a specially named hidden field to detect unsubmitted checkboxes. The default unchecked value is overridable for non-boolean value’d checkboxes.</td> </tr> <tr> + <td><a href="conversion-error-interceptor.html">Conversion Error Interceptor</a></td> + <td>conversionError</td> + <td>Adds conversion errors from the ActionContext to the Action’s field errors</td> + </tr> + <tr> <td><a href="cookie-interceptor.html">Cookie Interceptor</a></td> <td>cookie</td> <td>Inject cookie with a certain configurable name / value into action. (Since 2.0.7.)</td> @@ -668,24 +683,24 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Transfer cookies from action to response (Since 2.3.15.)</td> </tr> <tr> - <td><a href="conversion-error-interceptor.html">Conversion Error Interceptor</a></td> - <td>conversionError</td> - <td>Adds conversion errors from the ActionContext to the Action’s field errors</td> - </tr> - <tr> <td><a href="create-session-interceptor.html">Create Session Interceptor</a></td> <td>createSession</td> <td>Create an HttpSession automatically, useful with certain Interceptors that require a HttpSession to work properly (like the TokenInterceptor)</td> </tr> <tr> + <td><a href="clear-session-interceptor.html">Clear Session Interceptor</a></td> + <td>clearSession</td> + <td>This interceptor clears the HttpSession.</td> + </tr> + <tr> <td><a href="debugging-interceptor.html">DebuggingInterceptor</a></td> <td>debugging</td> <td>Provides several different debugging screens to provide insight into the data behind the page.</td> </tr> <tr> - <td><a href="execute-and-wait-interceptor.html">Execute and Wait Interceptor</a></td> - <td>execAndWait</td> - <td>Executes the Action in the background and then sends the user off to an intermediate waiting page.</td> + <td><a href="default-workflow-interceptor.html">Default Workflow Interceptor</a></td> + <td>workflow</td> + <td>Calls the validate method in your Action class. If Action errors are created then it returns the INPUT view.</td> </tr> <tr> <td><a href="exception-interceptor.html">Exception Interceptor</a></td> @@ -693,6 +708,11 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Maps exceptions to a result.</td> </tr> <tr> + <td><a href="execute-and-wait-interceptor.html">Execute and Wait Interceptor</a></td> + <td>execAndWait</td> + <td>Executes the Action in the background and then sends the user off to an intermediate waiting page.</td> + </tr> + <tr> <td><a href="file-upload-interceptor.html">File Upload Interceptor</a></td> <td>fileUpload</td> <td>An Interceptor that adds easy access to file upload support.</td> @@ -703,7 +723,7 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Remembers the locale selected for a user’s session.</td> </tr> <tr> - <td><a href="logger-interceptor.html">Logger Interceptor</a></td> + <td><a href="logger-interceptor.html">Logging Interceptor</a></td> <td>logger</td> <td>Outputs the name of the Action.</td> </tr> @@ -718,9 +738,19 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>If the Action implements ModelDriven, pushes the getModel Result onto the Value Stack.</td> </tr> <tr> - <td><a href="scoped-model-driven-interceptor.html">Scoped Model Driven Interceptor</a></td> - <td>scopedModelDriven</td> - <td>If the Action implements ScopedModelDriven, the interceptor retrieves and stores the model from a scope and sets it on the action calling setModel.</td> + <td><a href="multiselect-interceptor.html">Multiselect Interceptor</a></td> + <td>multiselect</td> + <td>Like the checkbox interceptor detects that no value was selected for a field with multiple values (like a select) and adds an empty parameter</td> + </tr> + <tr> + <td><a href="no-op-interceptor.html">NoOp Interceptor</a></td> + <td>noop</td> + <td>Does nothing, just passes invocation further, used in empty stack</td> + </tr> + <tr> + <td><a href="parameter-filter-interceptor.html">Parameter Filter Interceptor</a></td> + <td>N/A</td> + <td>Removes parameters from the list of those available to Actions</td> </tr> <tr> <td><a href="parameters-interceptor.html">Parameters Interceptor</a></td> @@ -728,16 +758,31 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Sets the request parameters onto the Action.</td> </tr> <tr> + <td><a href="parameter-remover-interceptor.html">Parameter Remover Interceptor</a></td> + <td>paramRemover</td> + <td>Removes a parameter from parameters map.</td> + </tr> + <tr> <td><a href="prepare-interceptor.html">Prepare Interceptor</a></td> <td>prepare</td> <td>If the Action implements Preparable, calls its prepare method.</td> </tr> <tr> + <td><a href="roles-interceptor.html">Roles Interceptor</a></td> + <td>roles</td> + <td>Action will only be executed if the user has the correct JAAS role.</td> + </tr> + <tr> <td><a href="scope-interceptor.html">Scope Interceptor</a></td> <td>scope</td> <td>Simple mechanism for storing Action state in the session or application scope.</td> </tr> <tr> + <td><a href="scoped-model-driven-interceptor.html">Scoped Model Driven Interceptor</a></td> + <td>scopedModelDriven</td> + <td>If the Action implements ScopedModelDriven, the interceptor retrieves and stores the model from a scope and sets it on the action calling setModel.</td> + </tr> + <tr> <td><a href="servlet-config-interceptor.html">Servlet Config Interceptor</a></td> <td>servletConfig</td> <td>Provide access to Maps representing HttpServletRequest and HttpServletResponse.</td> @@ -748,11 +793,6 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>Sets the struts.xml defined parameters onto the action. These are the <param /> tags that are direct children of the <action> tag.</action></td> </tr> <tr> - <td><a href="roles-interceptor.html">Roles Interceptor</a></td> - <td>roles</td> - <td>Action will only be executed if the user has the correct JAAS role.</td> - </tr> - <tr> <td><a href="timer-interceptor.html">Timer Interceptor</a></td> <td>timer</td> <td>Outputs how long the Action takes to execute (including nested Interceptors and View)</td> @@ -772,26 +812,6 @@ specified in the <code class="highlighter-rouge"><interceptors/></code> ta <td>validation</td> <td>Performs validation using the validators defined in <em>action</em> -validation.xml</td> </tr> - <tr> - <td><a href="default-workflow-interceptor.html">Default Workflow Interceptor</a></td> - <td>workflow</td> - <td>Calls the validate method in your Action class. If Action errors are created then it returns the INPUT view.</td> - </tr> - <tr> - <td><a href="parameter-filter-interceptor.html">Parameter Filter Interceptor</a></td> - <td>N/A</td> - <td>Removes parameters from the list of those available to Actions</td> - </tr> - <tr> - <td><a href="multiselect-interceptor.html">Multiselect Interceptor</a></td> - <td>multiselect</td> - <td>Like the checkbox interceptor detects that no value was selected for a field with multiple values (like a select) and adds an empty parameter</td> - </tr> - <tr> - <td><a href="no-op-interceptor.html">NoOp Interceptor</a></td> - <td>noop</td> - <td>Does nothing, just passes invocation further, used in empty stack</td> - </tr> </tbody> </table> diff --git a/content/core-developers/logger-interceptor.html b/content/core-developers/logger-interceptor.html index 9b4694e..8d433d3 100644 --- a/content/core-developers/logger-interceptor.html +++ b/content/core-developers/logger-interceptor.html @@ -125,26 +125,25 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/logger-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="logger-interceptor">Logger Interceptor</h1> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="logging-interceptor">Logging Interceptor</h1> -<p> <p> - This interceptor logs the start and end of the execution an action (in English-only, not internationalized). - <br /> - <b>Note:</b>: This interceptor will log at <tt>INFO</tt> level. - </p> -</p> +<p>This interceptor logs the start and end of the execution an action (in English-only, not internationalized).</p> + +<blockquote> + <p>Note: This interceptor will log at <em>INFO</em> level.</p> +</blockquote> <h2 id="parameters">Parameters</h2> -<p> There are no parameters for this interceptor. -</p> +<p>There are no parameters for this interceptor.</p> <h2 id="extending-the-interceptor">Extending the Interceptor</h2> -<p> There are no obvious extensions to the existing interceptor. -</p> +<p>There are no obvious extensions to the existing interceptor.</p> <h2 id="examples">Examples</h2> @@ -165,7 +164,6 @@ </code></pre> </div> - </section> </article> diff --git a/content/core-developers/create-session-interceptor.html b/content/core-developers/parameter-remover-interceptor.html similarity index 74% copy from content/core-developers/create-session-interceptor.html copy to content/core-developers/parameter-remover-interceptor.html index 9810e99..887aad3 100644 --- a/content/core-developers/create-session-interceptor.html +++ b/content/core-developers/parameter-remover-interceptor.html @@ -7,7 +7,7 @@ <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <title>Create Session Interceptor</title> + <title>Parameters Interceptor</title> <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css"> <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"> @@ -125,54 +125,47 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> - <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/create-session-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> - <h1 id="create-session-interceptor">Create Session Interceptor</h1> - -<p> - <p> - This interceptor creates the HttpSession if it doesn't exist, also SessionMap is recreated and put in ServletActionContext. - </p> - - <p> - This is particular useful when using the <@s.token> tag in freemarker templates. - The tag <b>do</b> require that a HttpSession is already created since freemarker commits - the response to the client immediately. - </p> -</p> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/parameter-remover-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + + <h1 id="parameter-remover-interceptor">Parameter Remover Interceptor</h1> -<h2 id="parameters">Parameters</h2> +<p>This is interceptor allows parameters (matching one of the <code class="highlighter-rouge">paramNames</code> value) to be removed from the parameter map +if they match a certain value (matching one of the <code class="highlighter-rouge">paramValues</code> value), before they are set on the action. A typical +usage would be to want a dropdown/select to map onto a boolean value on an action. The select had the options none, +yes and no with values -1, true and false. The true and false would map across correctly. However the -1 would be set to false.</p> + +<p>This was not desired as one might needed the value on the action to stay null. This interceptor fixes this by preventing +the parameter from ever reaching the action.</p> -<p> - <ul> - <li>None</li> - </ul> +<h2 id="parameters">Parameters</h2> -</p> +<ul> + <li><code class="highlighter-rouge">paramNames</code> - a comma separated value indicating the parameter name whose param value should be considered that if +they match any of the comma separated value from <code class="highlighter-rouge">paramValues</code> attribute, shall be removed from the parameter map such +that they will not be applied to the action</li> + <li><code class="highlighter-rouge">paramValues</code> - a comma separated value indicating the parameter value that if matched shall have its parameter be +removed from the parameter map such that they will not be applied to the action</li> +</ul> <h2 id="extending-the-interceptor">Extending the Interceptor</h2> -<p> - <ul> - <li>None</li> - </ul> - -</p> +<p>There are no obvious extensions to the existing interceptor.</p> <h2 id="examples">Examples</h2> -<div class="highlighter-rouge"><pre class="highlight"><code> - <span class="nt"><action</span> <span class="na">name=</span><span class="s">"someAction"</span> <span class="na">class=</span><span class="s">"com.examples.SomeAction"</span><span class="nt">></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"createSession"</span><span class="nt">/></span> - <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span><span class="nt">/></span> - <span class="nt"><result</span> <span class="na">name=</span><span class="s">"input"</span><span class="nt">></span>input_with_token_tag.ftl<span class="nt"></result></span> - <span class="nt"></action></span> - - +<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt"><action</span> <span class="na">name=</span><span class="s">"sample"</span> <span class="na">class=</span><span class="s">"org.martingilday.Sample"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"paramRemover"</span><span class="nt">></span> + <span class="nt"><param</span> <span class="na">name=</span><span class="s">"paramNames"</span><span class="nt">></span>aParam,anotherParam<span class="nt"></param></span> + <span class="nt"><param</span> <span class="na">name=</span><span class="s">"paramValues"</span><span class="nt">></span>--,-1<span class="nt"></param></span> + <span class="nt"></interceptor-ref></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"defaultStack"</span> <span class="nt">/></span> + ... +<span class="nt"></action></span> </code></pre> </div> - </section> </article> diff --git a/content/core-developers/parameters-interceptor.html b/content/core-developers/parameters-interceptor.html index 3470d1f..af1a30e 100644 --- a/content/core-developers/parameters-interceptor.html +++ b/content/core-developers/parameters-interceptor.html @@ -125,8 +125,10 @@ <article class="container"> <section class="col-md-12"> - <a href="index.html" title="back to Core Developers Guide"><< back to Core Developers Guide</a> <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/core-developers/parameters-interceptor.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="interceptors.html" title="back to Interceptors"><< back to Interceptors</a> + <h1 class="no_toc" id="parameters-interceptor">Parameters Interceptor</h1> <ul id="markdown-toc"> diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index db72695..9c60b96 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -143,8 +143,6 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="cp"><?xml version="1.0" encoding="UTF-8" ?></span> <span class="c"><!-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -365,7 +363,8 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"modelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"scopedModelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"params"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ParametersInterceptor"</span><span class="nt">/></span> - <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionMappingParametersInteceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"paramRemover"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ParameterRemoverInterceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionMappingParametersInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"prepare"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.PrepareInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"staticParams"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"scope"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ScopeInterceptor"</span><span class="nt">/></span> @@ -381,6 +380,7 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"profiling"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ProfilingActivationInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"roles"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.RolesInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"annotationWorkflow"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"</span> <span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"annotationParameterFilter"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.annotations.AnnotationParameterFilterInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"multiselect"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.MultiselectInterceptor"</span> <span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"noop"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.NoOpInterceptor"</span> <span class="nt">/></span> diff --git a/content/core-developers/validation.html b/content/core-developers/validation.html index 223b51d..0bbbc5d 100644 --- a/content/core-developers/validation.html +++ b/content/core-developers/validation.html @@ -200,6 +200,26 @@ to have many field-validators which is almost always the case.</p> our own validators.</p> <figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span> +<span class="c"><!-- +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +--></span> <span class="cp"><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"></span> diff --git a/content/tag-developers/css-xhtml-theme.html b/content/tag-developers/css-xhtml-theme.html index dd15877..ed7e00e 100644 --- a/content/tag-developers/css-xhtml-theme.html +++ b/content/tag-developers/css-xhtml-theme.html @@ -148,8 +148,6 @@ the HTML tags are wrapped by a standard header and footer. For example, in the < <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -208,8 +206,6 @@ the CSS theme does not use a <code class="highlighter-rouge">labelposition</code <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -251,8 +247,6 @@ block before the element is displayed.</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -312,8 +306,6 @@ to provide the layout. The contents of <strong>head.ftl</strong> are:</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information diff --git a/content/tag-developers/simple-theme.html b/content/tag-developers/simple-theme.html index e4145e4..93a508a 100644 --- a/content/tag-developers/simple-theme.html +++ b/content/tag-developers/simple-theme.html @@ -161,8 +161,6 @@ Ajax/Dojo support so that tags can import Dojo widgets easily.</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information diff --git a/content/tag-developers/xhtml-theme.html b/content/tag-developers/xhtml-theme.html index 139fe19..56b2e0d 100644 --- a/content/tag-developers/xhtml-theme.html +++ b/content/tag-developers/xhtml-theme.html @@ -163,8 +163,6 @@ and <code class="highlighter-rouge">controlfooter.ftl</code> templates are wrapp <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -199,8 +197,6 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -230,8 +226,6 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -328,8 +322,6 @@ for an <code class="highlighter-rouge">after</code> parameter.</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -380,8 +372,6 @@ render the form elements.</p> <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -458,8 +448,6 @@ wrapping table, the opening and closing templates also, if the <code class="high <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -494,8 +482,6 @@ wrapping table, the opening and closing templates also, if the <code class="high <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -538,8 +524,6 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -574,8 +558,6 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope <figure class="highlight"><pre><code class="language-freemarker" data-lang="freemarker"><#-- /* - * $Id$ - * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information -- To stop receiving notification emails like this one, please contact ['"commits@struts.apache.org" <commits@struts.apache.org>'].