This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-staging by this push: new 64b387636 Updates stage by Jenkins 64b387636 is described below commit 64b387636d2ec12f44683adff5b49e6ba1fdd233 Author: jenkins <bui...@apache.org> AuthorDate: Sat Apr 20 13:58:40 2024 +0000 Updates stage by Jenkins --- .../ajax-client-side-validation.html | 84 +++---- content/plugins/index.html | 2 +- content/plugins/json/index.html | 12 +- content/plugins/json/json-ajax-validation.html | 279 +++++++++++++++++---- .../plugins/portlet/struts-2-portlet-tutorial.html | 193 +++++++++++++- content/plugins/spring/index.html | 2 - .../ajax-and-javascript-recipes.html | 78 +++--- content/tag-developers/ajax-div-template.html | 12 +- content/tag-developers/ajax-event-system.html | 4 +- 9 files changed, 523 insertions(+), 143 deletions(-) diff --git a/content/core-developers/ajax-client-side-validation.html b/content/core-developers/ajax-client-side-validation.html index 9570c2e5f..396dfbea1 100644 --- a/content/core-developers/ajax-client-side-validation.html +++ b/content/core-developers/ajax-client-side-validation.html @@ -509,21 +509,21 @@ It takes care of hiding validation errors that might be present, submit the form * * @param event onSubmit event */</span> -<span class="kd">function</span> <span class="nf">ajaxFormValidation</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">event</span><span class="p">.</span><span class="nf">preventDefault</span><span class="p">();</span> - <span class="nf">_removeValidationErrors</span><span class="p">();</span> - <span class="kd">var</span> <span class="nx">_form</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">);</span> - <span class="kd">var</span> <span class="nx">_formData</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nf">serialize</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span> +<span class="kd">function</span> <span class="nx">ajaxFormValidation</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span> + <span class="nx">_removeValidationErrors</span><span class="p">();</span> + <span class="kd">var</span> <span class="nx">_form</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">_formData</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span> <span class="c1">// prepare visual feedback</span> <span class="c1">// you may want to use other elements here</span> - <span class="kd">var</span> <span class="nx">originalButton</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nf">find</span><span class="p">(</span><span class="dl">'</span><span class="s1">.btn-primary</span><span class="dl">'</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">originalButton</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="dl">'</span><span class="s1">.btn-primary</span><span class="dl">'</span><span class="p">);</span> <span class="c1">// note: jQuery returns an array-like object</span> - <span class="k">if </span><span class="p">(</span><span class="nx">originalButton</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">originalButton</span><span class="p">.</span><span class="nf">hide</span><span class="p">();</span> - <span class="kd">var</span> <span class="nx">feedbackElement</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="ajaxVisualFeedback"></div></span><span class="dl">'</span><span class="p">).</span><span class="nf">insertAfter</span><span class="p">(</span><span class="nx">originalButton</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">originalButton</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">originalButton</span><span class="p">.</span><span class="nx">hide</span><span class="p">();</span> + <span class="kd">var</span> <span class="nx">feedbackElement</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="ajaxVisualFeedback"></div></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">originalButton</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">restoreFunction</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> - <span class="nx">originalButton</span><span class="p">.</span><span class="nf">show</span><span class="p">();</span> - <span class="nx">feedbackElement</span><span class="p">.</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">originalButton</span><span class="p">.</span><span class="nx">show</span><span class="p">();</span> + <span class="nx">feedbackElement</span><span class="p">.</span><span class="nx">remove</span><span class="p">();</span> <span class="p">}</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">options</span> <span class="o">=</span> <span class="p">{</span> @@ -531,48 +531,48 @@ It takes care of hiding validation errors that might be present, submit the form <span class="na">async</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="na">processData</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="na">type</span><span class="p">:</span> <span class="dl">'</span><span class="s1">POST</span><span class="dl">'</span><span class="p">,</span> - <span class="na">success</span><span class="p">:</span> <span class="nf">function </span><span class="p">(</span><span class="nx">response</span><span class="p">,</span> <span class="nx">statusText</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">)</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">)</span> <span class="p">{</span> + <span class="na">success</span><span class="p">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">response</span><span class="p">,</span> <span class="nx">statusText</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">)</span> <span class="p">{</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// no validation errors</span> <span class="c1">// action has been executed and sent a redirect URL wrapped as JSON</span> <span class="c1">// cannot use a normal http-redirect (status-code 3xx) as this would be followed by browsers and would not be available here</span> <span class="c1">// follow JSON-redirect</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span> <span class="o">=</span> <span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">;</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">restoreFunction</span><span class="p">();</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">restoreFunction</span><span class="p">();</span> <span class="p">}</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span> <span class="p">}</span> <span class="p">},</span> <span class="na">error</span><span class="p">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">textStatus</span><span class="p">,</span> <span class="nx">errorThrown</span><span class="p">)</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">restoreFunction</span><span class="p">();</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">restoreFunction</span><span class="p">();</span> <span class="p">}</span> <span class="c1">// struts sends status code 400 when validation errors are present</span> - <span class="k">if </span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">status</span> <span class="o">===</span> <span class="mi">400</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">JSON</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span><span class="p">))</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">status</span> <span class="o">===</span> <span class="mi">400</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span><span class="p">))</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// a real error occurred -> show user an error message</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="p">{</span><span class="na">errors</span><span class="p">:</span> <span class="p">[</span><span class="dl">'</span><span class="s1">Network or server error!</span><span class="dl">'</span><span class="p">]})</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="p">{</span><span class="na">errors</span><span class="p">:</span> <span class="p">[</span><span class="dl">'</span><span class="s1">Network or server error!</span><span class="dl">'</span><span class="p">]})</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> <span class="c1">// send request, after delay to make sure everybody notices the visual feedback :)</span> - <span class="nb">window</span><span class="p">.</span><span class="nf">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> + <span class="nb">window</span><span class="p">.</span><span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">url</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">action</span><span class="p">;</span> - <span class="nx">jQuery</span><span class="p">.</span><span class="nf">ajax</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span> + <span class="nx">jQuery</span><span class="p">.</span><span class="nx">ajax</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span> <span class="p">},</span> <span class="mi">1000</span><span class="p">);</span> <span class="p">}</span> <span class="cm">/** * Removes validation errors from HTML DOM. */</span> -<span class="kd">function</span> <span class="nf">_removeValidationErrors</span><span class="p">()</span> <span class="p">{</span> +<span class="kd">function</span> <span class="nx">_removeValidationErrors</span><span class="p">()</span> <span class="p">{</span> <span class="c1">// action errors</span> <span class="c1">// you might want to use a custom ID here</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage li</span><span class="dl">'</span><span class="p">).</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage li</span><span class="dl">'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span> <span class="c1">// field errors</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">div.errorMessage</span><span class="dl">'</span><span class="p">).</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">div.errorMessage</span><span class="dl">'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span> <span class="p">}</span> <span class="cm">/** * Incorporates validation errors in HTML DOM. @@ -580,32 +580,32 @@ It takes care of hiding validation errors that might be present, submit the form * @param form Form containing errors. * @param errors Errors from server. */</span> -<span class="kd">function</span> <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> +<span class="kd">function</span> <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// action errors</span> - <span class="k">if </span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// you might want to use a custom ID here</span> - <span class="kd">var</span> <span class="nx">errorContainer</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage</span><span class="dl">'</span><span class="p">);</span> - <span class="nx">$</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">li</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><li><span></span></li></span><span class="dl">'</span><span class="p">);</span> - <span class="nx">li</span><span class="p">.</span><span class="nf">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> - <span class="nx">errorContainer</span><span class="p">.</span><span class="nf">append</span><span class="p">(</span><span class="nx">li</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">errorContainer</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">li</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><li><span></span></li></span><span class="dl">'</span><span class="p">);</span> + <span class="nx">li</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> + <span class="nx">errorContainer</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">li</span><span class="p">);</span> <span class="p">});</span> <span class="p">}</span> <span class="c1">// field errors</span> - <span class="k">if </span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">$</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">fieldName</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">td</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">td[data-error-for-fieldname="</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fieldName</span> <span class="o">+</span> <span class="dl">'</span><span class="s1">"]</span><span class="dl">'</span><span class="p">);</span> - <span class="k">if </span><span class="p">(</span><span class="nx">td</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">div</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="errorMessage"></div></span><span class="dl">'</span><span class="p">);</span> - <span class="nx">div</span><span class="p">.</span><span class="nf">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> - <span class="nx">td</span><span class="p">.</span><span class="nf">append</span><span class="p">(</span><span class="nx">div</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">fieldName</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">td</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">td[data-error-for-fieldname="</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fieldName</span> <span class="o">+</span> <span class="dl">'</span><span class="s1">"]</span><span class="dl">'</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">td</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">div</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="errorMessage"></div></span><span class="dl">'</span><span class="p">);</span> + <span class="nx">div</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> + <span class="nx">td</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">div</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="p">}</span> <span class="p">}</span> <span class="c1">// register onSubmit handler</span> -<span class="nf">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nf">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">load</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">form</span><span class="dl">'</span><span class="p">).</span><span class="nf">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">submit</span><span class="dl">'</span><span class="p">,</span> <span class="nx">ajaxFormValidation</span><span class="p">);</span> +<span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">load</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">form</span><span class="dl">'</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">submit</span><span class="dl">'</span><span class="p">,</span> <span class="nx">ajaxFormValidation</span><span class="p">);</span> <span class="p">});</span> </code></pre></div></div> diff --git a/content/plugins/index.html b/content/plugins/index.html index be2c2260b..4203c2c9a 100644 --- a/content/plugins/index.html +++ b/content/plugins/index.html @@ -283,7 +283,7 @@ to share with others. Several plugins are bundled with the framework, and others <tr> <td><a href="sitemesh">SiteMesh Plugin</a></td> <td> </td> - <td>deprecated since 6.0.0</td> + <td> </td> </tr> <tr> <td><a href="spring">Spring Plugin</a></td> diff --git a/content/plugins/json/index.html b/content/plugins/json/index.html index e83d33603..733a9b2ba 100644 --- a/content/plugins/json/index.html +++ b/content/plugins/json/index.html @@ -417,7 +417,7 @@ Thanks to Douglas Crockford for the tip! Consider using <strong>prefix</strong> </span></code></pre></div></div> <p>To strip those comments use:</p> -<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="nx">responseObject</span> <span class="o">=</span> <span class="nf">eval</span><span class="p">(</span><span class="dl">"</span><span class="s2">(</span><span class="dl">"</span><span class="o">+</span><span class="nx">data</span><span class="p">.</span><span class="nf">substring</span><span class="p">(</span><span class="nx">data</span><span cla [...] +<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="nx">responseObject</span> <span class="o">=</span> <span class="nb">eval</span><span class="p">(</span><span class="dl">"</span><span class="s2">(</span><span class="dl">"</span><span class="o">+</span><span class="nx">data</span><span class="p">.</span><span class="nx">substring</span><span class="p">(</span><span class="nx">data</span><span cla [...] </code></pre></div></div> <h3 id="prefix">Prefix</h3> @@ -837,24 +837,24 @@ must be enabled for both.</p> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><s:url </span><span class="na">id=</span><span class="s">"smdUrl"</span><span class="na"> namespace=</span><span class="s">"/nodecorate"</span><span class="na"> action=</span><span class="s">"SMDAction"</span> <span class="nt">/></span> <span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> <span class="c1">//load dojo RPC</span> - <span class="nx">dojo</span><span class="p">.</span><span class="nf">require</span><span class="p">(</span><span class="dl">"</span><span class="s2">dojo.rpc.*</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">dojo</span><span class="p">.</span><span class="nx">require</span><span class="p">(</span><span class="dl">"</span><span class="s2">dojo.rpc.*</span><span class="dl">"</span><span class="p">);</span> <span class="c1">//create service object(proxy) using SMD (generated by the json result)</span> - <span class="kd">var</span> <span class="nx">service</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">rpc</span><span class="p">.</span><span class="nc">JsonService</span><span class="p">(</span><span class="dl">"</span><span class="s2">${smdUrl}</span><span class="dl">"</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">service</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">rpc</span><span class="p">.</span><span class="nx">JsonService</span><span class="p">(</span><span class="dl">"</span><span class="s2">${smdUrl}</span><span class="dl">"</span><span class="p">);</span> <span class="c1">//function called when remote method returns</span> <span class="kd">var</span> <span class="nx">callback</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">bean</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">Price for </span><span class="dl">"</span> <span class="o">+</span> <span class="nx">bean</span><span class="p">.</span><span class="nx">type</span> <span class="o">+</span> <span class="dl">"</span><span class="s2"> is </span><span class="dl">"</span> <span class="o">+</span> <span class="nx">bean</span><span class="p">.</span><span class="nx">price</span><span class="p">);</span> + <span class="nx">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">Price for </span><span class="dl">"</span> <span class="o">+</span> <span class="nx">bean</span><span class="p">.</span><span class="nx">type</span> <span class="o">+</span> <span class="dl">"</span><span class="s2"> is </span><span class="dl">"</span> <span class="o">+</span> <span class="nx">bean</span><span class="p">.</span><span class="nx">price</span><span class="p">);</span> <span class="p">};</span> <span class="c1">//parameter</span> <span class="kd">var</span> <span class="nx">bean</span> <span class="o">=</span> <span class="p">{</span><span class="na">type</span><span class="p">:</span> <span class="dl">"</span><span class="s2">Mocca</span><span class="dl">"</span><span class="p">};</span> <span class="c1">//execute remote method</span> - <span class="kd">var</span> <span class="nx">defered</span> <span class="o">=</span> <span class="nx">service</span><span class="p">.</span><span class="nf">doSomething</span><span class="p">(</span><span class="nx">bean</span><span class="p">,</span> <span class="mi">5</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">defered</span> <span class="o">=</span> <span class="nx">service</span><span class="p">.</span><span class="nx">doSomething</span><span class="p">(</span><span class="nx">bean</span><span class="p">,</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">//attach callback to defered object</span> - <span class="nx">defered</span><span class="p">.</span><span class="nf">addCallback</span><span class="p">(</span><span class="nx">callback</span><span class="p">);</span> + <span class="nx">defered</span><span class="p">.</span><span class="nx">addCallback</span><span class="p">(</span><span class="nx">callback</span><span class="p">);</span> <span class="nt"></script></span> </code></pre></div></div> diff --git a/content/plugins/json/json-ajax-validation.html b/content/plugins/json/json-ajax-validation.html index 57c7d09fc..6c7306ce0 100644 --- a/content/plugins/json/json-ajax-validation.html +++ b/content/plugins/json/json-ajax-validation.html @@ -1,4 +1,156 @@ -<h1 class="no_toc" id="json-ajax-validation">JSON Ajax Validation</h1> +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="Date-Revision-yyyymmdd" content="20140918"/> + <meta http-equiv="Content-Language" content="en"/> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + + <title>JSON Ajax validation</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"> + <link href="/css/main.css" rel="stylesheet"> + <link href="/css/custom.css" rel="stylesheet"> + <link href="/css/syntax.css" rel="stylesheet"> + + <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> + <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script> + <script type="text/javascript" src="/js/community.js"></script> + + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + /* We explicitly disable cookie tracking to avoid privacy issues */ + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="//analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '41']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); + </script> + <!-- End Matomo Code --> +</head> +<body> + +<a href="https://github.com/apache/struts" class="github-ribbon"> + <img decoding="async" loading="lazy" style="position: absolute; right: 0; border: 0;" width="149" height="149" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_red_aa0000.png?resize=149%2C149" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"> +</a> + +<header> + <nav> + <div role="navigation" class="navbar navbar-default navbar-fixed-top"> + <div class="container"> + <div class="navbar-header"> + <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle"> + Menu + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a> + </div> + <div id="struts-menu" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Home<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/index.html">Welcome</a></li> + <li><a href="/download.cgi">Download</a></li> + <li><a href="/releases.html">Releases</a></li> + <li><a href="/announce-2023.html">Announcements</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li> + <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Support<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/mail.html">User Mailing List</a></li> + <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li> + <li><a href="/security.html">Reporting Security Issues</a></li> + <li><a href="/commercial-support.html">Commercial Support</a></li> + <li class="divider"></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li> + <li class="divider"></li> + <li><a href="/maven/project-info.html">Maven Project Info</a></li> + <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li> + <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Documentation<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/birdseye.html">Birds Eye</a></li> + <li><a href="/primer.html">Key Technologies</a></li> + <li><a href="/kickstart.html">Kickstart FAQ</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li> + <li class="divider"></li> + <li><a href="/getting-started/">Getting Started</a></li> + <li><a href="/security/">Security Guide</a></li> + <li><a href="/core-developers/">Core Developers Guide</a></li> + <li><a href="/tag-developers/">Tag Developers Guide</a></li> + <li><a href="/maven-archetypes/">Maven Archetypes</a></li> + <li><a href="/plugins/">Plugins</a></li> + <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li> + <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li> + <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Contributing<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/youatstruts.html">You at Struts</a></li> + <li><a href="/helping.html">How to Help FAQ</a></li> + <li><a href="/dev-mail.html">Development Lists</a></li> + <li class="divider"></li> + <li><a href="/submitting-patches.html">Submitting patches</a></li> + <li><a href="/builds.html">Source Code and Builds</a></li> + <li><a href="/coding-standards.html">Coding standards</a></li> + <li><a href="/contributors/">Contributors Guide</a></li> + <li class="divider"></li> + <li><a href="/release-guidelines.html">Release Guidelines</a></li> + <li><a href="/bylaws.html">PMC Charter</a></li> + <li><a href="/volunteers.html">Volunteers</a></li> + <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li> + <li><a href="/updating-website.html">Updating the website</a></li> + </ul> + </li> + <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li> + </ul> + </div> + </div> + </div> + </nav> +</header> + + +<article class="container"> + <section class="col-md-12"> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/plugins/json/json-ajax-validation.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="index" title="back to JSON plugin"><< back to JSON plugin</a> + + <h1 class="no_toc" id="json-ajax-validation">JSON Ajax Validation</h1> <ul id="markdown-toc"> <li><a href="#description" id="markdown-toc-description">Description</a></li> @@ -327,7 +479,7 @@ ${parameters.labelseparator!":"?html}<span class="nt"><</span><span class="na <div class="language-js highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">.</span><span class="nx">ajaxVisualFeedback</span> <span class="p">{</span> <span class="nl">width</span><span class="p">:</span> <span class="mi">16</span><span class="nx">px</span><span class="p">;</span> <span class="nl">height</span><span class="p">:</span> <span class="mi">16</span><span class="nx">px</span><span class="p">;</span> - <span class="nx">background</span><span class="o">-</span><span class="nx">image</span><span class="p">:</span> <span class="nf">url</span><span class="p">(</span><span class="dl">'</span><span class="s1">../images/indicator.gif</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">background</span><span class="o">-</span><span class="nx">image</span><span class="p">:</span> <span class="nx">url</span><span class="p">(</span><span class="dl">'</span><span class="s1">../images/indicator.gif</span><span class="dl">'</span><span class="p">);</span> <span class="nx">background</span><span class="o">-</span><span class="nx">repeat</span><span class="p">:</span> <span class="nx">no</span><span class="o">-</span><span class="nx">repeat</span><span class="p">;</span> <span class="nl">float</span><span class="p">:</span> <span class="nx">right</span><span class="p">;</span> <span class="p">}</span> @@ -343,21 +495,21 @@ care of hiding validation errors that might be present, submit the form via AJAX * * @param event onSubmit event */</span> -<span class="kd">function</span> <span class="nf">ajaxFormValidation</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">event</span><span class="p">.</span><span class="nf">preventDefault</span><span class="p">();</span> - <span class="nf">_removeValidationErrors</span><span class="p">();</span> - <span class="kd">var</span> <span class="nx">_form</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">);</span> - <span class="kd">var</span> <span class="nx">_formData</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nf">serialize</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span> +<span class="kd">function</span> <span class="nx">ajaxFormValidation</span><span class="p">(</span><span class="nx">event</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">event</span><span class="p">.</span><span class="nx">preventDefault</span><span class="p">();</span> + <span class="nx">_removeValidationErrors</span><span class="p">();</span> + <span class="kd">var</span> <span class="nx">_form</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="nx">event</span><span class="p">.</span><span class="nx">target</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">_formData</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nx">serialize</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span> <span class="c1">// prepare visual feedback</span> <span class="c1">// you may want to use other elements here</span> - <span class="kd">var</span> <span class="nx">originalButton</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nf">find</span><span class="p">(</span><span class="dl">'</span><span class="s1">.btn-primary</span><span class="dl">'</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">originalButton</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">.</span><span class="nx">find</span><span class="p">(</span><span class="dl">'</span><span class="s1">.btn-primary</span><span class="dl">'</span><span class="p">);</span> <span class="c1">// note: jQuery returns an array-like object</span> - <span class="k">if </span><span class="p">(</span><span class="nx">originalButton</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">originalButton</span><span class="p">.</span><span class="nf">hide</span><span class="p">();</span> - <span class="kd">var</span> <span class="nx">feedbackElement</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="ajaxVisualFeedback"></div></span><span class="dl">'</span><span class="p">).</span><span class="nf">insertAfter</span><span class="p">(</span><span class="nx">originalButton</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">originalButton</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">&&</span> <span class="nx">originalButton</span><span class="p">.</span><span class="nx">length</span> <span class="o">></span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">originalButton</span><span class="p">.</span><span class="nx">hide</span><span class="p">();</span> + <span class="kd">var</span> <span class="nx">feedbackElement</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="ajaxVisualFeedback"></div></span><span class="dl">'</span><span class="p">).</span><span class="nx">insertAfter</span><span class="p">(</span><span class="nx">originalButton</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">restoreFunction</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> - <span class="nx">originalButton</span><span class="p">.</span><span class="nf">show</span><span class="p">();</span> - <span class="nx">feedbackElement</span><span class="p">.</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">originalButton</span><span class="p">.</span><span class="nx">show</span><span class="p">();</span> + <span class="nx">feedbackElement</span><span class="p">.</span><span class="nx">remove</span><span class="p">();</span> <span class="p">}</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">options</span> <span class="o">=</span> <span class="p">{</span> @@ -365,48 +517,48 @@ care of hiding validation errors that might be present, submit the form via AJAX <span class="na">async</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="na">processData</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="na">type</span><span class="p">:</span> <span class="dl">'</span><span class="s1">POST</span><span class="dl">'</span><span class="p">,</span> - <span class="na">success</span><span class="p">:</span> <span class="nf">function </span><span class="p">(</span><span class="nx">response</span><span class="p">,</span> <span class="nx">statusText</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">)</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">)</span> <span class="p">{</span> + <span class="na">success</span><span class="p">:</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">response</span><span class="p">,</span> <span class="nx">statusText</span><span class="p">,</span> <span class="nx">xhr</span><span class="p">)</span> <span class="p">{</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// no validation errors</span> <span class="c1">// action has been executed and sent a redirect URL wrapped as JSON</span> <span class="c1">// cannot use a normal http-redirect (status-code 3xx) as this would be followed by browsers and would not be available here</span> <span class="c1">// follow JSON-redirect</span> <span class="nb">window</span><span class="p">.</span><span class="nx">location</span><span class="p">.</span><span class="nx">href</span> <span class="o">=</span> <span class="nx">response</span><span class="p">.</span><span class="nx">location</span><span class="p">;</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">restoreFunction</span><span class="p">();</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">restoreFunction</span><span class="p">();</span> <span class="p">}</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">response</span><span class="p">);</span> <span class="p">}</span> <span class="p">},</span> <span class="na">error</span><span class="p">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">xhr</span><span class="p">,</span> <span class="nx">textStatus</span><span class="p">,</span> <span class="nx">errorThrown</span><span class="p">)</span> <span class="p">{</span> - <span class="k">if </span><span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">restoreFunction</span><span class="p">();</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">restoreFunction</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">restoreFunction</span><span class="p">();</span> <span class="p">}</span> <span class="c1">// struts sends status code 400 when validation errors are present</span> - <span class="k">if </span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">status</span> <span class="o">===</span> <span class="mi">400</span><span class="p">)</span> <span class="p">{</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">JSON</span><span class="p">.</span><span class="nf">parse</span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span><span class="p">))</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">status</span> <span class="o">===</span> <span class="mi">400</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="nx">JSON</span><span class="p">.</span><span class="nx">parse</span><span class="p">(</span><span class="nx">xhr</span><span class="p">.</span><span class="nx">responseText</span><span class="p">))</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="c1">// a real error occurred -> show user an error message</span> - <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="p">{</span><span class="na">errors</span><span class="p">:</span> <span class="p">[</span><span class="dl">'</span><span class="s1">Network or server error!</span><span class="dl">'</span><span class="p">]})</span> + <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">_form</span><span class="p">,</span> <span class="p">{</span><span class="na">errors</span><span class="p">:</span> <span class="p">[</span><span class="dl">'</span><span class="s1">Network or server error!</span><span class="dl">'</span><span class="p">]})</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> <span class="c1">// send request, after delay to make sure everybody notices the visual feedback :)</span> - <span class="nb">window</span><span class="p">.</span><span class="nf">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> + <span class="nb">window</span><span class="p">.</span><span class="nx">setTimeout</span><span class="p">(</span><span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">url</span> <span class="o">=</span> <span class="nx">_form</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="nx">action</span><span class="p">;</span> - <span class="nx">jQuery</span><span class="p">.</span><span class="nf">ajax</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span> + <span class="nx">jQuery</span><span class="p">.</span><span class="nx">ajax</span><span class="p">(</span><span class="nx">url</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span> <span class="p">},</span> <span class="mi">1000</span><span class="p">);</span> <span class="p">}</span> <span class="cm">/** * Removes validation errors from HTML DOM. */</span> -<span class="kd">function</span> <span class="nf">_removeValidationErrors</span><span class="p">()</span> <span class="p">{</span> +<span class="kd">function</span> <span class="nx">_removeValidationErrors</span><span class="p">()</span> <span class="p">{</span> <span class="c1">// action errors</span> <span class="c1">// you might want to use a custom ID here</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage li</span><span class="dl">'</span><span class="p">).</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage li</span><span class="dl">'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span> <span class="c1">// field errors</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">div.errorMessage</span><span class="dl">'</span><span class="p">).</span><span class="nf">remove</span><span class="p">();</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">div.errorMessage</span><span class="dl">'</span><span class="p">).</span><span class="nx">remove</span><span class="p">();</span> <span class="p">}</span> <span class="cm">/** * Incorporates validation errors in HTML DOM. @@ -414,32 +566,32 @@ care of hiding validation errors that might be present, submit the form via AJAX * @param form Form containing errors. * @param errors Errors from server. */</span> -<span class="kd">function</span> <span class="nf">_handleValidationResult</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> +<span class="kd">function</span> <span class="nx">_handleValidationResult</span><span class="p">(</span><span class="nx">form</span><span class="p">,</span> <span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// action errors</span> - <span class="k">if </span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// you might want to use a custom ID here</span> - <span class="kd">var</span> <span class="nx">errorContainer</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage</span><span class="dl">'</span><span class="p">);</span> - <span class="nx">$</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">li</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><li><span></span></li></span><span class="dl">'</span><span class="p">);</span> - <span class="nx">li</span><span class="p">.</span><span class="nf">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> - <span class="nx">errorContainer</span><span class="p">.</span><span class="nf">append</span><span class="p">(</span><span class="nx">li</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">errorContainer</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">ul.errorMessage</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">errors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">index</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">li</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><li><span></span></li></span><span class="dl">'</span><span class="p">);</span> + <span class="nx">li</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> + <span class="nx">errorContainer</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">li</span><span class="p">);</span> <span class="p">});</span> <span class="p">}</span> <span class="c1">// field errors</span> - <span class="k">if </span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">)</span> <span class="p">{</span> - <span class="nx">$</span><span class="p">.</span><span class="nf">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">fieldName</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">td</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">td[data-error-for-fieldname="</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fieldName</span> <span class="o">+</span> <span class="dl">'</span><span class="s1">"]</span><span class="dl">'</span><span class="p">);</span> - <span class="k">if </span><span class="p">(</span><span class="nx">td</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">div</span> <span class="o">=</span> <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="errorMessage"></div></span><span class="dl">'</span><span class="p">);</span> - <span class="nx">div</span><span class="p">.</span><span class="nf">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> - <span class="nx">td</span><span class="p">.</span><span class="nf">append</span><span class="p">(</span><span class="nx">div</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">)</span> <span class="p">{</span> + <span class="nx">$</span><span class="p">.</span><span class="nx">each</span><span class="p">(</span><span class="nx">errors</span><span class="p">.</span><span class="nx">fieldErrors</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">fieldName</span><span class="p">,</span> <span class="nx">errorMsg</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">td</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">td[data-error-for-fieldname="</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">fieldName</span> <span class="o">+</span> <span class="dl">'</span><span class="s1">"]</span><span class="dl">'</span><span class="p">);</span> + <span class="k">if</span> <span class="p">(</span><span class="nx">td</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">div</span> <span class="o">=</span> <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1"><div class="errorMessage"></div></span><span class="dl">'</span><span class="p">);</span> + <span class="nx">div</span><span class="p">.</span><span class="nx">text</span><span class="p">(</span><span class="nx">errorMsg</span><span class="p">);</span> <span class="c1">// use text() for security reasons</span> + <span class="nx">td</span><span class="p">.</span><span class="nx">append</span><span class="p">(</span><span class="nx">div</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="p">}</span> <span class="p">}</span> <span class="c1">// register onSubmit handler</span> -<span class="nf">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nf">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">load</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> - <span class="nf">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">form</span><span class="dl">'</span><span class="p">).</span><span class="nf">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">submit</span><span class="dl">'</span><span class="p">,</span> <span class="nx">ajaxFormValidation</span><span class="p">);</span> +<span class="nx">$</span><span class="p">(</span><span class="nb">window</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">load</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> + <span class="nx">$</span><span class="p">(</span><span class="dl">'</span><span class="s1">form</span><span class="dl">'</span><span class="p">).</span><span class="nx">bind</span><span class="p">(</span><span class="dl">'</span><span class="s1">submit</span><span class="dl">'</span><span class="p">,</span> <span class="nx">ajaxFormValidation</span><span class="p">);</span> <span class="p">});</span> </code></pre></div></div> @@ -510,3 +662,42 @@ the response - is needed in portlet environment</li> <p><img src="struts2-ajax-vali-flow.png" alt="Flow chart " /> </p> + + </section> +</article> + + +<footer class="container"> + <div class="col-md-12"> + Copyright © 2000-2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. + Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are + trademarks of The Apache Software Foundation. All Rights Reserved. + </div> + <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div> +</footer> + +<script>!function (d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (!d.getElementById(id)) { + js = d.createElement(s); + js.id = id; + js.src = "//platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + } +}(document, "script", "twitter-wjs");</script> +<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script> + +<div id="fb-root"></div> + +<script>(function (d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); + js.id = id; + js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; + fjs.parentNode.insertBefore(js, fjs); +}(document, 'script', 'facebook-jssdk'));</script> + + +</body> +</html> diff --git a/content/plugins/portlet/struts-2-portlet-tutorial.html b/content/plugins/portlet/struts-2-portlet-tutorial.html index 83fb32289..ea922e13d 100644 --- a/content/plugins/portlet/struts-2-portlet-tutorial.html +++ b/content/plugins/portlet/struts-2-portlet-tutorial.html @@ -1,4 +1,156 @@ -<h1 id="struts-2-portlet-tutorial">Struts 2 Portlet Tutorial</h1> +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <meta name="Date-Revision-yyyymmdd" content="20140918"/> + <meta http-equiv="Content-Language" content="en"/> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + + <title>Struts 2 Portlet Tutorial</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"> + <link href="/css/main.css" rel="stylesheet"> + <link href="/css/custom.css" rel="stylesheet"> + <link href="/css/syntax.css" rel="stylesheet"> + + <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> + <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script> + <script type="text/javascript" src="/js/community.js"></script> + + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + /* We explicitly disable cookie tracking to avoid privacy issues */ + _paq.push(['disableCookies']); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="//analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '41']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); + </script> + <!-- End Matomo Code --> +</head> +<body> + +<a href="https://github.com/apache/struts" class="github-ribbon"> + <img decoding="async" loading="lazy" style="position: absolute; right: 0; border: 0;" width="149" height="149" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_red_aa0000.png?resize=149%2C149" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1"> +</a> + +<header> + <nav> + <div role="navigation" class="navbar navbar-default navbar-fixed-top"> + <div class="container"> + <div class="navbar-header"> + <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle"> + Menu + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a> + </div> + <div id="struts-menu" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Home<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/index.html">Welcome</a></li> + <li><a href="/download.cgi">Download</a></li> + <li><a href="/releases.html">Releases</a></li> + <li><a href="/announce-2023.html">Announcements</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li> + <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Support<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/mail.html">User Mailing List</a></li> + <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li> + <li><a href="/security.html">Reporting Security Issues</a></li> + <li><a href="/commercial-support.html">Commercial Support</a></li> + <li class="divider"></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li> + <li class="divider"></li> + <li><a href="/maven/project-info.html">Maven Project Info</a></li> + <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li> + <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Documentation<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/birdseye.html">Birds Eye</a></li> + <li><a href="/primer.html">Key Technologies</a></li> + <li><a href="/kickstart.html">Kickstart FAQ</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li> + <li class="divider"></li> + <li><a href="/getting-started/">Getting Started</a></li> + <li><a href="/security/">Security Guide</a></li> + <li><a href="/core-developers/">Core Developers Guide</a></li> + <li><a href="/tag-developers/">Tag Developers Guide</a></li> + <li><a href="/maven-archetypes/">Maven Archetypes</a></li> + <li><a href="/plugins/">Plugins</a></li> + <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li> + <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li> + <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li> + </ul> + </li> + <li class="dropdown"> + <a data-toggle="dropdown" href="#" class="dropdown-toggle"> + Contributing<b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/youatstruts.html">You at Struts</a></li> + <li><a href="/helping.html">How to Help FAQ</a></li> + <li><a href="/dev-mail.html">Development Lists</a></li> + <li class="divider"></li> + <li><a href="/submitting-patches.html">Submitting patches</a></li> + <li><a href="/builds.html">Source Code and Builds</a></li> + <li><a href="/coding-standards.html">Coding standards</a></li> + <li><a href="/contributors/">Contributors Guide</a></li> + <li class="divider"></li> + <li><a href="/release-guidelines.html">Release Guidelines</a></li> + <li><a href="/bylaws.html">PMC Charter</a></li> + <li><a href="/volunteers.html">Volunteers</a></li> + <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li> + <li><a href="/updating-website.html">Updating the website</a></li> + </ul> + </li> + <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li> + </ul> + </div> + </div> + </div> + </nav> +</header> + + +<article class="container"> + <section class="col-md-12"> + <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/plugins/portlet/struts-2-portlet-tutorial.md" title="Edit this page on GitHub">Edit on GitHub</a> + + <a href="index" title="back to Portlet Plugin"><< back to Portlet Plugin</a> + + <h1 id="struts-2-portlet-tutorial">Struts 2 Portlet Tutorial</h1> <h2 id="creating-a-simple-bookmark-portlet">Creating a simple Bookmark Portlet</h2> @@ -604,3 +756,42 @@ If you have not used Struts 2 before, please check out some of the other Struts <li><a href="http://portletwork.blogspot.com">Author’s blog about portlet related development</a></li> <li><a href="http://struts.apache.org/2.x/docs/portlet-tutorial-webwork-22">Old tutorial for WebWork 2</a></li> </ul> + + </section> +</article> + + +<footer class="container"> + <div class="col-md-12"> + Copyright © 2000-2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. + Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are + trademarks of The Apache Software Foundation. All Rights Reserved. + </div> + <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div> +</footer> + +<script>!function (d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (!d.getElementById(id)) { + js = d.createElement(s); + js.id = id; + js.src = "//platform.twitter.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + } +}(document, "script", "twitter-wjs");</script> +<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script> + +<div id="fb-root"></div> + +<script>(function (d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); + js.id = id; + js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1"; + fjs.parentNode.insertBefore(js, fjs); +}(document, 'script', 'facebook-jssdk'));</script> + + +</body> +</html> diff --git a/content/plugins/spring/index.html b/content/plugins/spring/index.html index d3cc0256b..1bcef6a2c 100644 --- a/content/plugins/spring/index.html +++ b/content/plugins/spring/index.html @@ -360,8 +360,6 @@ Action did not need to be changed, because it can be autowired.</p> <span class="nt"></beans></span> </code></pre></div></div> -<p>To use session-scoped components with Spring and Struts, see the <a href="spring-session-components-workarounds">Spring Session Components Workarounds</a> analysis.</p> - <h2 id="class-reloading">Class Reloading</h2> <p>The Spring plugin can be configured to automatically reload classes that change in the file system. This feature will diff --git a/content/tag-developers/ajax-and-javascript-recipes.html b/content/tag-developers/ajax-and-javascript-recipes.html index c865b3e65..f162a0c2c 100644 --- a/content/tag-developers/ajax-and-javascript-recipes.html +++ b/content/tag-developers/ajax-and-javascript-recipes.html @@ -386,8 +386,8 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="publish-a-topic-after-the-request">Publish a topic after the request</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> -<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/after</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">,</span> <span class="nx">request</span><span class="p">,</span> <span c [...] - <span class="nf">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">inside a topic event. after request</span><span class="dl">'</span><span class="p">);</span> +<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/after</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">data</span><span class="p">,</span> <span class="nx">request</span><span class="p">,</span> <span c [...] + <span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">inside a topic event. after request</span><span class="dl">'</span><span class="p">);</span> <span class="c1">//data : text returned from request</span> <span class="c1">//request: XMLHttpRequest object</span> <span class="c1">//widget: widget that published the topic</span> @@ -408,8 +408,8 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="publish-a-topic-on-error">Publish a topic on error</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> -<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/error</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">request</span><span class="p">,</span> <span [...] - <span class="nf">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">inside a topic event. on error</span><span class="dl">'</span><span class="p">);</span> +<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/error</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">request</span><span class="p">,</span> <span [...] + <span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">inside a topic event. on error</span><span class="dl">'</span><span class="p">);</span> <span class="c1">//error : error object (error.message has the error message)</span> <span class="c1">//request: XMLHttpRequest object</span> <span class="c1">//widget: widget that published the topic</span> @@ -445,8 +445,8 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="prevent-a-request">Prevent a request</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> -<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/before</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">widget</span><span class="p">){</span> - <span class="nf">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">I will stop this request</span><span class="dl">'</span><span class="p">);</span> +<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/before</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">widget</span><span class="p">){</span> + <span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">I will stop this request</span><span class="dl">'</span><span class="p">);</span> <span class="nx">event</span><span class="p">.</span><span class="nx">cancel</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span> <span class="p">});</span> <span class="nt"></script></span> @@ -589,26 +589,26 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="setget-value-using-javascript">Set/Get value using JavaScript</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">setValue</span><span class="p">()</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">picker</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">picker</span><span class="dl">"</span><span class="p">);</span> + <span class="kd">function</span> <span class="nx">setValue</span><span class="p">()</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">picker</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">picker</span><span class="dl">"</span><span class="p">);</span> <span class="c1">//string value</span> - <span class="nx">picker</span><span class="p">.</span><span class="nf">setValue</span><span class="p">(</span><span class="dl">'</span><span class="s1">2007-01-01</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">picker</span><span class="p">.</span><span class="nx">setValue</span><span class="p">(</span><span class="dl">'</span><span class="s1">2007-01-01</span><span class="dl">'</span><span class="p">);</span> <span class="c1">//Date value</span> - <span class="nx">picker</span><span class="p">.</span><span class="nf">setValue</span><span class="p">(</span><span class="k">new</span> <span class="nc">Date</span><span class="p">());</span> + <span class="nx">picker</span><span class="p">.</span><span class="nx">setValue</span><span class="p">(</span><span class="k">new</span> <span class="nb">Date</span><span class="p">());</span> <span class="p">}</span> - <span class="kd">function</span> <span class="nf">showValue</span><span class="p">()</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">picker</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">picker</span><span class="dl">"</span><span class="p">);</span> + <span class="kd">function</span> <span class="nx">showValue</span><span class="p">()</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">picker</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">picker</span><span class="dl">"</span><span class="p">);</span> <span class="c1">//string value</span> - <span class="kd">var</span> <span class="nx">stringValue</span> <span class="o">=</span> <span class="nx">picker</span><span class="p">.</span><span class="nf">getValue</span><span class="p">();</span> - <span class="nf">alert</span><span class="p">(</span><span class="nx">stringValue</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">stringValue</span> <span class="o">=</span> <span class="nx">picker</span><span class="p">.</span><span class="nx">getValue</span><span class="p">();</span> + <span class="nx">alert</span><span class="p">(</span><span class="nx">stringValue</span><span class="p">);</span> <span class="c1">//date value</span> - <span class="kd">var</span> <span class="nx">dateValue</span> <span class="o">=</span> <span class="nx">picker</span><span class="p">.</span><span class="nf">getDate</span><span class="p">();</span> - <span class="nf">alert</span><span class="p">(</span><span class="nx">dateValue</span><span class="p">);</span> + <span class="kd">var</span> <span class="nx">dateValue</span> <span class="o">=</span> <span class="nx">picker</span><span class="p">.</span><span class="nx">getDate</span><span class="p">();</span> + <span class="nx">alert</span><span class="p">(</span><span class="nx">dateValue</span><span class="p">);</span> <span class="p">}</span> <span class="nt"></script></span> @@ -623,8 +623,8 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="publish-topic-when-value-changes">Publish topic when value changes</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/value</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">text</span><span class="p">,</span> <span class="nx">date</span><span class="p">,</span> <span cl [...] - <span class="nf">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">value changed</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">"</span><span class="s2">/value</span><span class="dl">"</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">text</span><span class="p">,</span> <span class="nx">date</span><span class="p">,</span> <span cl [...] + <span class="nx">alert</span><span class="p">(</span><span class="dl">'</span><span class="s1">value changed</span><span class="dl">'</span><span class="p">);</span> <span class="c1">//textEntered: String entered in the textbox</span> <span class="c1">//date: JavaScript Date object with the value selected</span> <span class="c1">//widget: widget that published the topic </span> @@ -721,15 +721,15 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="enabledisable-tabs-using-javascript">Enable/Disable tabs using JavaScript</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">enableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">'</span><span class="s1">tabContainer</span><span class="dl">'</span><span class="p">);</span> - <span class="nx">tabContainer</span><span class="p">.</span><span class="nf">enableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">);</span> + <span class="kd">function</span> <span class="nx">enableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">'</span><span class="s1">tabContainer</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">tabContainer</span><span class="p">.</span><span class="nx">enableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">);</span> <span class="p">}</span> - <span class="kd">function</span> <span class="nf">disableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">'</span><span class="s1">tabContainer</span><span class="dl">'</span><span class="p">);</span> - <span class="nx">tabContainer</span><span class="p">.</span><span class="nf">disableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">);</span> + <span class="kd">function</span> <span class="nx">disableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">'</span><span class="s1">tabContainer</span><span class="dl">'</span><span class="p">);</span> + <span class="nx">tabContainer</span><span class="p">.</span><span class="nx">disableTab</span><span class="p">(</span><span class="nx">param</span><span class="p">);</span> <span class="p">}</span> <span class="nt"></script></span> @@ -782,12 +782,12 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="publish-topics-when-tab-is-selected">Publish topics when tab is selected</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/before</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">tab</span><span class="p">,</span> <span [...] - <span class="nf">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">Before selecting tab</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/before</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">tab</span><span class="p">,</span> <span [...] + <span class="nx">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">Before selecting tab</span><span class="dl">"</span><span class="p">);</span> <span class="p">});</span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/after</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">tab</span><span class="p">,</span> <span class="nx">tabContainer</span><span class="p">)</span> [...] - <span class="nf">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">After tab was selected</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/after</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">tab</span><span class="p">,</span> <span class="nx">tabContainer</span><span class="p">)</span> [...] + <span class="nx">alert</span><span class="p">(</span><span class="dl">"</span><span class="s2">After tab was selected</span><span class="dl">"</span><span class="p">);</span> <span class="p">});</span> <span class="nt"></script></span> <span class="nt"><sx:tabbedpanel </span><span class="na">beforeSelectTabNotifyTopics=</span><span class="s">"/before"</span><span class="na"> afterSelectTabNotifyTopics=</span><span class="s">"/after"</span><span class="na"> id=</span><span class="s">"tabContainer"</span><span class="nt">></span> @@ -803,9 +803,9 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="select-tab-using-javascript">Select tab using JavaScript</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">selectTab</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">tabContainer</span><span class="dl">"</span><span class="p">);</span> - <span class="nx">tabContainer</span><span class="p">.</span><span class="nf">selectTab</span><span class="p">(</span><span class="nx">id</span><span class="p">);</span> + <span class="kd">function</span> <span class="nx">selectTab</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">tabContainer</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">tabContainer</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">tabContainer</span><span class="p">.</span><span class="nx">selectTab</span><span class="p">(</span><span class="nx">id</span><span class="p">);</span> <span class="p">}</span> <span class="nt"></script></span> <span class="nt"><sx:tabbedpanel </span><span class="na">id=</span><span class="s">"tabContainer"</span><span class="nt">></span> @@ -824,7 +824,7 @@ dojo.event.topic.subscribe("/before", function(event, widget){ <h3 id="prevent-tab-2-from-being-selected">Prevent tab 2 from being selected</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/before</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">tab</span><span class="p">,</span> <span [...] + <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">subscribe</span><span class="p">(</span><span class="dl">'</span><span class="s1">/before</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">event</span><span class="p">,</span> <span class="nx">tab</span><span class="p">,</span> <span [...] <span class="nx">event</span><span class="p">.</span><span class="nx">cancel</span> <span class="o">=</span> <span class="nx">tab</span><span class="p">.</span><span class="nx">widgetId</span> <span class="o">==</span> <span class="dl">"</span><span class="s2">tab2</span><span class="dl">"</span> <span class="p">;</span> <span class="p">});</span> <span class="nt"></script></span> @@ -1058,14 +1058,14 @@ one for the selected value, and one for its associated key.</p> <h3 id="disable-itenable-it-using-javascript">Disable it/enable it using JavaScript</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">enableit</span><span class="p">()</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">autoCompleter</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">auto</span><span class="dl">"</span><span class="p">);</span> - <span class="nx">autoCompleter</span><span class="p">.</span><span class="nf">enable</span><span class="p">();</span> + <span class="kd">function</span> <span class="nx">enableit</span><span class="p">()</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">autoCompleter</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">auto</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">autoCompleter</span><span class="p">.</span><span class="nx">enable</span><span class="p">();</span> <span class="p">}</span> - <span class="kd">function</span> <span class="nf">disableit</span><span class="p">()</span> <span class="p">{</span> - <span class="kd">var</span> <span class="nx">autoCompleter</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nf">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">auto</span><span class="dl">"</span><span class="p">);</span> - <span class="nx">autoCompleter</span><span class="p">.</span><span class="nf">disable</span><span class="p">();</span> + <span class="kd">function</span> <span class="nx">disableit</span><span class="p">()</span> <span class="p">{</span> + <span class="kd">var</span> <span class="nx">autoCompleter</span> <span class="o">=</span> <span class="nx">dojo</span><span class="p">.</span><span class="nx">widget</span><span class="p">.</span><span class="nx">byId</span><span class="p">(</span><span class="dl">"</span><span class="s2">auto</span><span class="dl">"</span><span class="p">);</span> + <span class="nx">autoCompleter</span><span class="p">.</span><span class="nx">disable</span><span class="p">();</span> <span class="p">}</span> <span class="nt"></script></span> @@ -1089,7 +1089,7 @@ one for the selected value, and one for its associated key.</p> <h3 id="filter-fields-top-be-submitted-when-options-are-loaded-return-true-to-include">Filter fields top be submitted when options are loaded (return true to include)</h3> <div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">filter</span><span class="p">(</span><span class="nx">input</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">function</span> <span class="nx">filter</span><span class="p">(</span><span class="nx">input</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">input</span><span class="p">.</span><span class="nx">name</span> <span class="o">==</span> <span class="dl">"</span><span class="s2">data1</span><span class="dl">"</span><span class="p">;</span> <span class="p">}</span> <span class="nt"></script></span> diff --git a/content/tag-developers/ajax-div-template.html b/content/tag-developers/ajax-div-template.html index 9a2ceceee..189b48f10 100644 --- a/content/tag-developers/ajax-div-template.html +++ b/content/tag-developers/ajax-div-template.html @@ -259,15 +259,15 @@ For the remote div with the component id <code class="language-plaintext highlig <p>To start refreshing use the javascript:</p> -<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nf">startTimer</span><span class="p">();</span> +<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nx">startTimer</span><span class="p">();</span> </code></pre></div></div> <p>To stop refreshing use the javascript:</p> -<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nf">stopTimer</span><span class="p">();</span> +<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nx">stopTimer</span><span class="p">();</span> </code></pre></div></div> <p>To refresh the content use the javascript:</p> -<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nf">refresh</span><span class="p">();</span> +<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nx">remotediv1</span><span class="p">.</span><span class="nx">refresh</span><span class="p">();</span> </code></pre></div></div> <h2 id="javascript-examples">JavaScript Examples</h2> @@ -282,12 +282,12 @@ the AJAX div so it refreshes.</p> <div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><saf:head</span> <span class="na">theme=</span><span class="s">"ajax"</span> <span class="nt">/></span> <span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span> - <span class="kd">function</span> <span class="nf">updateReports</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span> + <span class="kd">function</span> <span class="nx">updateReports</span><span class="p">(</span><span class="nx">id</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">reportDiv</span><span class="o">=</span> <span class="nb">window</span><span class="p">[</span><span class="dl">'</span><span class="s1">reportDivId</span><span class="dl">'</span><span class="p">];</span> <span class="nx">reportDiv</span><span class="p">.</span><span class="nx">href</span> <span class="o">=</span> <span class="dl">'</span><span class="s1">/../reportListRemote.action?selectedId=</span><span class="dl">'</span><span class="o">+</span><span class="nx">id</span><span class="p">;</span> - <span class="nx">reportDiv</span><span class="p">.</span><span class="nf">refresh</span><span class="p">();</span> + <span class="nx">reportDiv</span><span class="p">.</span><span class="nx">refresh</span><span class="p">();</span> <span class="p">}</span> - <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">getTopic</span><span class="p">(</span><span class="dl">"</span><span class="s2">updateReportsListTopic</span><span class="dl">"</span><span class="p">).</span><span class="nf">subscribe</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="dl">"</span><span class="s2">u [...] + <span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">getTopic</span><span class="p">(</span><span class="dl">"</span><span class="s2">updateReportsListTopic</span><span class="dl">"</span><span class="p">).</span><span class="nx">subscribe</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="dl">"</span><span class="s2">u [...] <span class="nt"></script></span> <span class="nt"><form</span> <span class="err">...</span> <span class="nt">></span> diff --git a/content/tag-developers/ajax-event-system.html b/content/tag-developers/ajax-event-system.html index ba01d552e..7d114b8c6 100644 --- a/content/tag-developers/ajax-event-system.html +++ b/content/tag-developers/ajax-event-system.html @@ -176,11 +176,11 @@ attribute. See the <a href="ajax-div-template">ajax div template</a> for an exam <p>To subscribe to the <code class="language-plaintext highlighter-rouge">topic_name</code> topic:</p> -<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">function</span> <span class="nf">doSomethingWithEvent</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span> +<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">function</span> <span class="nx">doSomethingWithEvent</span><span class="p">(</span><span class="nx">data</span><span class="p">)</span> <span class="p">{</span> <span class="p">...</span> <span class="p">}</span> -<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nf">getTopic</span><span class="p">(</span><span class="dl">"</span><span class="s2">topic_name</span><span class="dl">"</span><span class="p">).</span><span class="nf">subscribe</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="dl">"</span><span class="s2">doSomethingWithEv [...] +<span class="nx">dojo</span><span class="p">.</span><span class="nx">event</span><span class="p">.</span><span class="nx">topic</span><span class="p">.</span><span class="nx">getTopic</span><span class="p">(</span><span class="dl">"</span><span class="s2">topic_name</span><span class="dl">"</span><span class="p">).</span><span class="nx">subscribe</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="dl">"</span><span class="s2">doSomethingWithEv [...] </code></pre></div></div> <p>The <code class="language-plaintext highlighter-rouge">subscribe</code> method takes 2 parameters, the first is the JavaScript object variable (or null if the function is not