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 z.B. ein
Rome Plugin zum Erzeugen von RSS Feeds oder eine
JFreeChart Plugin, um Charts in die Webanwendung zu integrieren.
Da moderne Webanwendungen häufig sehr AJAX lastig sind, bei
weinfreund.de 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.
< %@ taglib prefix="s" uri="/struts-tags" %>
< %@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<head>
<sx :head />
</head>
<!-- Ein leeres Div in das unser Ergebnis geladen wird -->
<div id="ziel" />
<!-- Unser Link, durch das Attribut targets wird das Ergebnis automatisch in unser oben definiertes DIV geladen. -->
<sx :a targets="div" value="Google Startseite" href="http://www.google.de" /> |
Das Dojo Plugin bringt auch einige UI Elemente wie
Tabs,
Autocompleter,
Kalender und mehr mit, die ähnlich einfach wie der Link zu benutzen gehen.
Warum jQuery?
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
jQuery 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
jQuery 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
Plugins für fast jeden Einsatzzweck.
Mit jQuery sieht das gleiche Beispiel von oben so aus.
<head>
<script type="text/javascript" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#googlelink").click(function() {
$("#ziel>").load("http://www.google.de");
});
});
</script>
</head>
<div id="ziel" />
<a id="googlelink" href="javascript:void(0)">Google Startseite</a> |
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
jQuery UI leicht zu benutzende Widgets wie
Tabs,
Dialogboxen und
Kalender mit, welche auch noch mit dem
Themeroller leicht an das eigene Layout anpassbar sind.
Fazit:
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.
Tags: ajax, dojo, framework, java, jQuery, struts2
1 Comment »
[...] struts2 by jogep Jun 06 2009 TrackBack Address. Letztens habe ich von den Unterschieden von Dojo und jQuery in Verwendung mit Struts2 geschrieben. Dabei hat sich das fehlende Plugin für jQuery als kleiner [...]