<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java, Programming, Struts2, jQuery, Linux and more &#187; dojo</title>
	<atom:link href="http://www.jgeppert.com/tag/dojo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jgeppert.com</link>
	<description>Johannes Geppert</description>
	<lastBuildDate>Sat, 04 Feb 2012 12:31:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Version 2.2.0 of Struts2 jQuery Plugin is now available</title>
		<link>http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/</link>
		<comments>http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 19:55:17 +0000</pubDate>
		<dc:creator>jogep</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[projekte]]></category>
		<category><![CDATA[Struts jQuery Plugin]]></category>
		<category><![CDATA[struts2]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ckeditor]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[grid]]></category>
		<category><![CDATA[jqgrid]]></category>
		<category><![CDATA[jqueryui]]></category>
		<category><![CDATA[richtext]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.jgeppert.com/?p=395</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/' addthis:title='Version 2.2.0 of Struts2 jQuery Plugin is now available '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Version 2.2.0 of Struts2 jQuery Plugin is out now. The new Version is Based on latest jQuery UI 1.8.2, see Changelog for more Detail about this version. Changes since Version 2.1.0: Upgrade to jQuery UI 1.8.2 Upgrade to jqGrid 3.6.5 Solve &#160;Issue 154&#160;: load from google cdn does not work for jquery ui themes Solve [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/' addthis:title='Version 2.2.0 of Struts2 jQuery Plugin is now available ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/' addthis:title='Version 2.2.0 of Struts2 jQuery Plugin is now available '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Version 2.2.0 of <a href="http://code.google.com/p/struts2-jquery/">Struts2 jQuery Plugin</a> is out now. The new Version is Based on <a href="http://blog.jqueryui.com/2010/06/jquery-ui-182/">latest jQuery UI 1.8.2</a>, see Changelog for more Detail about this version.


<strong>Changes since Version 2.1.0:</strong>

<ul>
<li>Upgrade to jQuery UI 1.8.2</li>
<li>Upgrade to jqGrid 3.6.5</li>
<li>Solve <a title="load from google cdn does not work for jquery ui themes" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=154">&nbsp;Issue 154&nbsp;</a>: load from google cdn does not work for jquery ui themes </li>
<li>Solve <a title="Default Loading Text" href="http://code.google.com/p/struts2-jquery/issues/detail?id=155">Issue 155</a>: Default Loading Text </li>
<li>Solve <a title="onSelectAll topics" href="http://code.google.com/p/struts2-jquery/issues/detail?id=156">Issue 156</a>: onSelectAll topics </li>
<li>Solve <a title="useSelectedTabCookies in tabbedpanel broken in 2.1.0" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=157">&nbsp;Issue 157&nbsp;</a>: useSelectedTabCookies in tabbedpanel broken in 2.1.0 </li>
<li>Solve <a title="Select options vanish when re-entering the page" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=161">&nbsp;Issue 161&nbsp;</a>: Select options vanish when re-entering the page </li>
<li>Solve <a title="Struts2-jquery-plugin not recognizing tag in jsp page" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=170">&nbsp;Issue 170&nbsp;</a>: Struts2-jquery-plugin not recognizing tag in jsp page </li>
<li>Solve <a title="sj:accordion autoHeight does not work" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=171">&nbsp;Issue 171&nbsp;</a>: sj:accordion autoHeight does not work </li>
<li>Solve <a title="Autcompleter input textfield width should be configurable" class="closed_ref" href="http://code.google.com/p/struts2-jquery/issues/detail?id=176">&nbsp;Issue 176&nbsp;</a>: Autcompleter input textfield width should be configurable </li>
<li>Solve <a title="Nested tab didn't work" href="http://code.google.com/p/struts2-jquery/issues/detail?id=179">Issue 179</a>: Nested tab didn't work </li>
<li>Solve <a title="loadingText doesn't appear to have any effect with jqgrid plugin" href="http://code.google.com/p/struts2-jquery/issues/detail?id=184">Issue 184</a>: loadingText doesn't appear to have any effect with jqgrid plugin </li>
<li>Solve <a title="attributes hidegrid, hoverrows and shrinkToFit in grid tag can not be set to false" href="http://code.google.com/p/struts2-jquery/issues/detail?id=185">Issue 185</a>: attributes hidegrid, hoverrows and shrinkToFit in grid tag can not be set to false </li>
<li>Solve <a title="how to submit a  form while loading grid?" href="http://code.google.com/p/struts2-jquery/issues/detail?id=186">Issue 186</a>: how to submit a form while loading grid? </li>
<li>Solve <a title="Some locales does not work, particularly &quot;fr&quot;" href="http://code.google.com/p/struts2-jquery/issues/detail?id=188">Issue 188</a>: Some locales does not work, particularly "fr" </li>
<li>Solve <a title="Add Head Tag attribute 'compatibility' for an jQuery 1.3 compatibility mode" href="http://code.google.com/p/struts2-jquery/issues/detail?id=190">Issue 190</a>: Add Head Tag attribute 'compatibility' for an jQuery 1.3 compatibility mode </li>
<li>Solve <a title="deferred loading of dynamic elements  " href="http://code.google.com/p/struts2-jquery/issues/detail?id=191">Issue 191</a>: deferred loading of dynamic elements  </li>
<li>Solve <a title="Default Error Text" href="http://code.google.com/p/struts2-jquery/issues/detail?id=192">Issue 192</a>: Default Error Text </li>
<li>Solve <a title="Using base tag with sj:a causes page to reload" href="http://code.google.com/p/struts2-jquery/issues/detail?id=193">Issue 193</a>: Using base tag with sj:a causes page to reload </li>
</ul>

Download: <a href="http://code.google.com/p/struts2-jquery/downloads/list">http://code.google.com/p/struts2-jquery/downloads/list</a>
Showcase: <a href="http://www.weinfreund.de/struts2-jquery-showcase/">http://www.weinfreund.de/struts2-jquery-showcase/</a>
Issues: <a href="http://code.google.com/p/struts2-jquery/issues/list">http://code.google.com/p/struts2-jquery/issues/list</a>
User Group: <a href="http://groups.google.com/group/struts2-jquery">http://groups.google.com/group/struts2-jquery</a>

<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/' addthis:title='Version 2.2.0 of Struts2 jQuery Plugin is now available ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.jgeppert.com/2010/06/version-2-2-0-of-struts2-jquery-plugin-is-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Framework Struts2 &#8211; AJAX mit Dojo oder jQuery?</title>
		<link>http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/</link>
		<comments>http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/#comments</comments>
		<pubDate>Mon, 11 May 2009 20:33:08 +0000</pubDate>
		<dc:creator>jogep</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[struts2]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.jgeppert.com/?p=215</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/' addthis:title='Java Framework Struts2 &#8211; AJAX mit Dojo oder jQuery? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Für Webanwendungen die ich mit Java erstelle, verwende ich seit einigen Jahren Struts und seit einiger Zeit Struts2. Struts2 hat außer dem Namen nicht sehr viel mit dem älteren und weit verbreiteten Struts gemeinsam, sondern es basiert auf dem Framework Webworks. Das Tolle an Struts2 ist seine Flexibilität. So gibt es für verschiedenste Einsatzzwecke Plugins [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/' addthis:title='Java Framework Struts2 &#8211; AJAX mit Dojo oder jQuery? ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/' addthis:title='Java Framework Struts2 &#8211; AJAX mit Dojo oder jQuery? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_counter addthis_pill_style"></a></div>Für Webanwendungen die ich mit Java erstelle, verwende ich seit einigen Jahren Struts und seit einiger Zeit <a href="http://struts.apache.org/2.x/">Struts2</a>. Struts2 hat außer dem Namen nicht sehr viel mit dem älteren und weit verbreiteten Struts gemeinsam, sondern es basiert auf dem Framework Webworks. Das Tolle an Struts2 ist seine Flexibilität. So gibt es für verschiedenste Einsatzzwecke <a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugins</a> z.B. ein <a href="http://code.google.com/p/s2-rome/">Rome Plugin</a> zum Erzeugen von RSS Feeds oder eine <a href="http://struts.apache.org/2.x/docs/jfreechart-plugin.html">JFreeChart Plugin</a>, um Charts in die Webanwendung zu integrieren.

Da moderne Webanwendungen häufig sehr AJAX lastig sind, bei <a href="http://www.weinfreund.de">weinfreund.de</a> verwende ich z.B. sehr viel AJAX im Backend und im Administrationsbereich, bringt Struts2 gleich ein Dojo Plugin von Haus aus mit. Mit dem Plugin ist es möglich, ohne Kenntnisse von JavaScript AJAX Funktionalität in die Anwendung einzubauen.

Folgendes Beispiel zeigt, wie man das Ergebnis eines Links per AJAX in ein DIV lädt.


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;">&lt; %@ taglib <span style="color: #000066;">prefix</span>=<span style="color: #ff0000;">&quot;s&quot;</span> <span style="color: #000066;">uri</span>=<span style="color: #ff0000;">&quot;/struts-tags&quot;</span> %<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;">&lt; %@ taglib <span style="color: #000066;">prefix</span>=<span style="color: #ff0000;">&quot;sx&quot;</span> <span style="color: #000066;">uri</span>=<span style="color: #ff0000;">&quot;/struts-dojo-tags&quot;</span> %<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;sx</span> :head <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!-- Ein leeres Div in das unser Ergebnis geladen wird --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;ziel&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!-- Unser Link, durch das Attribut targets wird das Ergebnis automatisch in unser oben definiertes DIV geladen. --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;sx</span> :a <span style="color: #000066;">targets</span>=<span style="color: #ff0000;">&quot;div&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Google Startseite&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;http://www.google.de&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>




Das Dojo Plugin bringt auch einige UI Elemente wie <strong>Tabs</strong>, <strong>Autocompleter</strong>, <strong>Kalender </strong>und mehr mit, die ähnlich einfach wie der Link zu benutzen gehen.

<strong>Warum jQuery?</strong>

Da ich mit dem Dojo Plugin an einige Grenzen gestoßen bin, z.B. bei Fileupload und JavaScript in AJAX-Results, und es auch viel Aufwand ist, die Optik an die eigene Webseite anzupassen, habe ich <a href="http://jquery.com/">jQuery</a> ausprobiert.

Leider gibt es noch kein Plugin was einem häufige Funktionen genauso erleichtern wie das Dojo Plugin. Bis jetzt gibt es nur Alpha Versionen und Entwicklerversionen eines solchen Plugins. Ich habe <a href="http://jquery.com/">jQuery</a> mit purem JavaScript benutzt. Das erfordert zwar einen erhöhten Programmieraufwand und Einarbeitung in JavaScript, aber jQuery hat einen leicht  zu erlernenden Syntax, eine große Community und <a href="http://plugins.jquery.com/">Plugins</a> für fast jeden Einsatzzweck. 

Mit jQuery sieht das gleiche Beispiel von oben so aus.


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;scripts/jquery-1.3.2.min.js&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  $(document).ready(function() {
    $(&quot;#googlelink&quot;).click(function()	{
      $(&quot;#ziel&gt;&quot;).load(&quot;http://www.google.de&quot;);
    });
  });
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;ziel&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;googlelink&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;javascript:void(0)&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Google Startseite<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>




Das Ganze ist zwar nicht so schick zu lesen wie mit dem Dojo Plugin, aber mit etwas Erfahrung hat man mit jQuery eine bessere Kontrolle über den Code und ist flexibler.

Auch jQuery bringt mit Hilfe von <a href="http://jqueryui.com/">jQuery UI</a> leicht zu benutzende Widgets wie <strong>Tabs</strong>, <strong>Dialogboxen </strong>und <strong>Kalender </strong>mit, welche auch noch mit dem <a href="http://jqueryui.com/themeroller/">Themeroller</a> leicht an das eigene Layout anpassbar sind.

<strong>Fazit:</strong>
Mit jQuery hat man eine gute Alternative zum Struts2 Dojo Plugin, da man dieses flexibler an eigene Bedürfnisse anpassen und mit Plugins auch besser erweitern kann. Vielleicht gibt es ja für Struts2 auch bald ein brauchbares jQuery Plugin, so dass man es genauso einfach wie Dojo benutzen kann.
Ich kann den Einsatz von jQuery für AJAX basierte Webanwendungen nur empfehlen.<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/' addthis:title='Java Framework Struts2 &#8211; AJAX mit Dojo oder jQuery? ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.jgeppert.com/2009/05/java-framework-struts2-mit-dojo-oder-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

