<?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; framework</title>
	<atom:link href="http://www.jgeppert.com/tag/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jgeppert.com</link>
	<description>Johannes Geppert</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:38:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<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>

