<?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>lost in thought &#187; JSF</title>
	<atom:link href="http://joachim.weinbrenner.name/category/java/jsf/feed/" rel="self" type="application/rss+xml" />
	<link>http://joachim.weinbrenner.name</link>
	<description>random thoughts from Joachim Weinbrenner</description>
	<lastBuildDate>Mon, 02 May 2011 12:15:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Prime-Time! Artikel im KaffeeKlatsch</title>
		<link>http://joachim.weinbrenner.name/2011/01/29/prime-time-artikel-im-kaffeeklatsch/</link>
		<comments>http://joachim.weinbrenner.name/2011/01/29/prime-time-artikel-im-kaffeeklatsch/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 11:26:39 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PrimeFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=306</guid>
		<description><![CDATA[Der neue KaffeeKlatsch (Das Magazin rund um Software-Entwicklung) ist da. Der KaffeeKlatsch kommt monatlich als PDF und kann kostenlos per E-Mail abonniert werden. Diesmal findet ihr darin auch meinen Artikel zur JSF-Komponentenbibliothek PrimeFaces. Viel Spaß beim Lesen.]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-307" title="kaffeeklatsch" src="http://joachim.weinbrenner.name/wp-content/uploads/kaffeeklatsch.jpg" alt="KaffeeKlatsch" width="200" height="37" />Der neue <a href="http://www.bookware.de/kaffeeklatsch/intro" target="_blank">KaffeeKlatsch</a> (Das Magazin rund um Software-Entwicklung) ist da. Der KaffeeKlatsch kommt monatlich als PDF und kann kostenlos per E-Mail abonniert werden.</p>
<p>Diesmal findet ihr darin auch meinen Artikel zur JSF-Komponentenbibliothek <a title="PrimeFaces" href="http://www.primefaces.org/" target="_blank">PrimeFaces</a>. Viel Spaß beim Lesen.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=Prime-Time%21%20Artikel%20im%20KaffeeKlatsch&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2011%2F01%2F29%2Fprime-time-artikel-im-kaffeeklatsch%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2011/01/29/prime-time-artikel-im-kaffeeklatsch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Folien &#8220;Der lachende Dritte&#8221;</title>
		<link>http://joachim.weinbrenner.name/2010/09/18/folien-der-lachende-dritte/</link>
		<comments>http://joachim.weinbrenner.name/2010/09/18/folien-der-lachende-dritte/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 21:14:33 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[IceFaces]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[PrimeFaces]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=299</guid>
		<description><![CDATA[Jetzt können meine Folien vom Vortrag beim Herbstcampus 2010 letzten Montag online betrachtet werden: Der lachende Dritte]]></description>
			<content:encoded><![CDATA[<p>Jetzt können meine Folien vom <a href="http://www.herbstcampus.de/hc10/program/sessions.html#5" target="_blank">Vortrag beim Herbstcampus 2010</a> letzten Montag online betrachtet werden:</p>
<div style="width:425px" id="__ss_5230446"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/joachimweinbrenner/der-lachende-dritte" title="Der lachende Dritte">Der lachende Dritte</a></strong><object id="__sse5230446" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=derlachendedritte-100918154211-phpapp02&#038;stripped_title=der-lachende-dritte&#038;userName=joachimweinbrenner" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5230446" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=derlachendedritte-100918154211-phpapp02&#038;stripped_title=der-lachende-dritte&#038;userName=joachimweinbrenner" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=Folien%20%26%238220%3BDer%20lachende%20Dritte%26%238221%3B&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2010%2F09%2F18%2Ffolien-der-lachende-dritte%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2010/09/18/folien-der-lachende-dritte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vortrag auf dem Herbstcampus 2010</title>
		<link>http://joachim.weinbrenner.name/2010/06/14/vortrag-auf-dem-herbstcampus-2010/</link>
		<comments>http://joachim.weinbrenner.name/2010/06/14/vortrag-auf-dem-herbstcampus-2010/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 19:30:52 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[IceFaces]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[PrimeFaces]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=288</guid>
		<description><![CDATA[Es freut mich sehr, dass ich auf dem kommenden Herbstcampus 2010 einen Vortrag halten darf. Ich werde die drei bekannten AJAX-JSF Frameworks PrimeFaces, RichFaces und IceFaces unter die Lupe nehmen und vergleichen. Der Vortrag &#8220;Der lachende Dritte? &#8211; PrimeFaces im Vergleich zu RichFaces und IceFaces&#8221; findet am Montag, 13. 9., 11:20 – 12:30 Uhr statt. Gespannt bin ich [...]]]></description>
			<content:encoded><![CDATA[<p>Es freut mich sehr, dass ich auf dem kommenden Herbstcampus 2010 einen Vortrag halten darf. Ich werde die drei bekannten AJAX-JSF Frameworks <a href="http://www.primefaces.org/" target="_blank">PrimeFaces</a>, <a href="http://www.jboss.org/richfaces" target="_blank">RichFaces</a> und <a href="http://www.icefaces.org/main/home/" target="_blank">IceFaces</a> unter die Lupe nehmen und vergleichen.</p>
<p>Der Vortrag <strong>&#8220;Der lachende Dritte? &#8211; PrimeFaces im Vergleich zu RichFaces und IceFaces&#8221;</strong> findet am Montag, 13. 9., 11:20 – 12:30 Uhr statt.</p>
<p>Gespannt bin ich auch auf das umfangreiche Konferenzprogramm mit zahlreichen interessanten Vorträgen und Referenten. Ausführliche Informationen zur Konferenz findet man unter <a href="http://www.herbstcampus.de/hc10/index.html" target="_blank">http://www.herbstcampus.de/hc10/index.html</a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=Vortrag%20auf%20dem%20Herbstcampus%202010&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2010%2F06%2F14%2Fvortrag-auf-dem-herbstcampus-2010%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2010/06/14/vortrag-auf-dem-herbstcampus-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem: rich:editor eingebettet in rich:modalPanel</title>
		<link>http://joachim.weinbrenner.name/2010/04/22/problem-richeditor-eingebettet-in-richmodalpanel/</link>
		<comments>http://joachim.weinbrenner.name/2010/04/22/problem-richeditor-eingebettet-in-richmodalpanel/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 19:18:12 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>
		<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=280</guid>
		<description><![CDATA[Mal wieder so eine kleine Sache, an der man unnötig hängen bleibt und auf deren Lösung man ohne googeln kaum kommen kann. Ausgangsstellung: Ich hatte in meiner JSF-Oberfläche mit RichFaces einen modalen Dialog eingebaut, der unter anderem einen Editor enthalten soll. Eigentlich ganz easy, nichts besonderes. Der Code sah vereinfacht und gekürzt in etwa so [...]]]></description>
			<content:encoded><![CDATA[<p>Mal wieder so eine kleine Sache, an der man unnötig hängen bleibt und auf deren Lösung man ohne googeln kaum kommen kann.</p>
<p>Ausgangsstellung: Ich hatte in meiner JSF-Oberfläche mit <a href="http://www.jboss.org/richfaces" target="_blank">RichFaces</a> einen modalen Dialog eingebaut, der unter anderem einen Editor enthalten soll. Eigentlich ganz easy, nichts besonderes. Der Code sah vereinfacht und gekürzt in etwa so aus:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rich:modalPanel</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editpanel&quot;</span> <span style="color: #000066;">autosized</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h:form<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		... (andere Komponenten) ...
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rich:editor</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editor&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;400&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;100&quot;</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;#{myBean.dialogBeschreibung}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a4j:commandButton</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Speichern&quot;</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">&quot;#{myBean.dialogSpeichern}&quot;</span> </span>
<span style="color: #009900;">			<span style="color: #000066;">oncomplete</span>=<span style="color: #ff0000;">&quot;#{rich:component('editpanel')}.hide();&quot;</span> <span style="color: #000066;">reRender</span>=<span style="color: #ff0000;">&quot;treepanel&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a4j:commandButton</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Abbrechen&quot;</span></span>
<span style="color: #009900;">			<span style="color: #000066;">onclick</span>=<span style="color: #ff0000;">&quot;#{rich:component('editpanel')}.hide();return false;&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h:form<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rich:modalPanel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Eigentlich alles ok, oder? Also gut, &#8216;mvn tomcat:redeploy&#8217; &#8230; ein bisschen einwirken lassen &#8230; Firefox auf, testen. Der Dialog springt sofort auf, aber der Editor ist tot, nicht mal den Cursor kriegt man zum blinken. Und auch der &#8216;Speichern&#8217;-Knopf zeigt keine Reaktion.</p>
<p>Die Lösung (besser: den Workaround) liefert JBoss.org Issue <a href="https://jira.jboss.org/jira/browse/RF-7477" target="_blank">RF-7477</a> bzw <a href="https://jira.jboss.org/jira/browse/RF-5268" target="_blank">RF-5268</a>: Im modalPanel ist domElementAttachment=&#8221;parent&#8221; zu setzen. Zeile 1 von oben sieht dann also so aus:</p>

<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;rich:modalPanel</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;editpanel&quot;</span> <span style="color: #000066;">domElementAttachment</span>=<span style="color: #ff0000;">&quot;parent&quot;</span> <span style="color: #000066;">autosized</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></div></div>

<p>Was lernt man daraus? Keine Ahnung, wohl das was wir schon oft gelernt haben: &#8220;Kaum macht mans richtig, schon gehts &#8230;&#8221;</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=Problem%3A%20rich%3Aeditor%20eingebettet%20in%20rich%3AmodalPanel&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2010%2F04%2F22%2Fproblem-richeditor-eingebettet-in-richmodalpanel%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2010/04/22/problem-richeditor-eingebettet-in-richmodalpanel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hibernate Validator 4 &#8211; Validierung, wo sie hin gehört</title>
		<link>http://joachim.weinbrenner.name/2009/10/24/hibernate-validator-4-validierung-wo-sie-hin-gehort/</link>
		<comments>http://joachim.weinbrenner.name/2009/10/24/hibernate-validator-4-validierung-wo-sie-hin-gehort/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 15:54:48 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=218</guid>
		<description><![CDATA[Vor gut zwei Wochen erschien die Version 4 des Hibernate Validators. Dabei handelt es sich um eine komplett neue Codebasis, es ist nun die Referenzimplementierung des JSR-303: Bean Validation. Der Hauptvorteil der Benutzung von Hibernate Validator ist, dass die Überprüfungen da stattfinden, wo sie maßgeblich sind, nämlich im Model. Statt also in allen Schichten (GUI/Web, [...]]]></description>
			<content:encoded><![CDATA[<p>Vor gut zwei Wochen erschien die Version 4 des <a href="https://www.hibernate.org/412.html" target="_blank">Hibernate Validators</a>. Dabei handelt es sich um eine komplett neue Codebasis, es ist nun die Referenzimplementierung des <a href="http://jcp.org/en/jsr/detail?id=303" target="_blank">JSR-303: Bean Validation</a>. Der Hauptvorteil der <a href="http://docs.jboss.org/hibernate/stable/validator/reference/en/html_single/" target="_blank">Benutzung</a> von Hibernate Validator ist, dass die Überprüfungen da stattfinden, wo sie maßgeblich sind, nämlich im Model. Statt also in allen Schichten (GUI/Web, Business Layer, Data Acess, &#8230;) eine eigene Prüfung zu implementieren (und sich damit leicht Inkonsistenzen und doppelten Code einzuhandeln) erfolgt die Validierung ausschließlich in den Domänen Objekten.</p>
<p>Die Validierung erfogt über Constraints, die als Annotationen angegeben werden. Es sind schon einige Constraints enthalten, für besondere Zwecke lassen sich eigene erstellen. Hier mal ein einfaches Beispiel:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// (imports usw. weggelassen)</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Kunde <span style="color: #009900;">&#123;</span>
&nbsp;
    @NotNull<span style="color: #009900;">&#40;</span>message <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Ein Kunde muss einen Namen haben&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> nachname<span style="color: #339933;">;</span>
&nbsp;
    @Past<span style="color: #009900;">&#40;</span>message <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Geboren in der Zukunft?&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Date</span> geburtstag<span style="color: #339933;">;</span>
&nbsp;
    @Size<span style="color: #009900;">&#40;</span>min<span style="color: #339933;">=</span><span style="color: #cc66cc;">6</span>, max<span style="color: #339933;">=</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span>
    @NotNull
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> passwort<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Getter Setter usw.</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Highlights der Version 4 sind:</p>
<ul>
<li>Native Integration in JPA 2 und JSF 2 (für SEAM Experten nichts neues, hat dort schon mit Version 3 von Hibernate Validator funktioniert)</li>
<li>Groups: Es lassen sich Gruppen definieren, welche die Validierung bestimmter Constraints anstoßen</li>
<li>Typsicherheit: Es wird sichergestellt, dass ein Constraint zum Datentyp des Properties passt.</li>
<li>stark verbesserte Testsuite</li>
<li>uvm. &#8230;</li>
</ul>
<p>Noch ein Hinweis: Hibernate Validator kann unabhängig von einer Verwendung des Hibernate ORM eingesetzt werden.</p>
<p>Meine Empfehlung: Unbedingt anschauen!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=Hibernate%20Validator%204%20%26%238211%3B%20Validierung%2C%20wo%20sie%20hin%20geh%C3%B6rt&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F10%2F24%2Fhibernate-validator-4-validierung-wo-sie-hin-gehort%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/10/24/hibernate-validator-4-validierung-wo-sie-hin-gehort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSF2 Linksammlung</title>
		<link>http://joachim.weinbrenner.name/2009/09/13/jsf2-linksammlung/</link>
		<comments>http://joachim.weinbrenner.name/2009/09/13/jsf2-linksammlung/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 19:51:03 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=205</guid>
		<description><![CDATA[Die neue Version von JSF (Java Server Faces) hat einige Verbesserungen mit sich gebracht. Hier sammle ich eine kleine Liste von Links zur Einführung in die Materie, die ich aktualisiere, wenn ich auf etwas Interessantes stoße. Andy Schwartz’s Weblog &#8211; What’s New in JSF 2? (exzellente Übersicht!) Max Katz: Learning JSF2: Managed beans (erster Teil [...]]]></description>
			<content:encoded><![CDATA[<p>Die neue Version von JSF (Java Server Faces) hat einige Verbesserungen mit sich gebracht. Hier sammle ich eine kleine Liste von Links zur Einführung in die Materie, die ich aktualisiere, wenn ich auf etwas Interessantes stoße.</p>
<ul>
<li><a href="http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/" target="_blank">Andy Schwartz’s Weblog &#8211; What’s New in JSF 2?</a> (exzellente Übersicht!)</li>
<li><a href="http://mkblog.exadel.com/jsf/learning-jsf2-managed-beans/" target="_blank">Max Katz: Learning JSF2: Managed beans</a> (erster Teil einer Einführungsserie)</li>
<li><a href="http://mkblog.exadel.com/jsf/learning-jsf2-navigation/" target="_blank">Max Katz: Learning JSF2: Navigation</a> (zweiter Teil der Einführungsserie)</li>
<li><a href="http://mkblog.exadel.com/jsf/learning-jsf-2-ajax-in-jsf-using-fajax-tag/" target="_blank">Max Katz: Learning JSF2: Ajax in JSF &#8211; using f:ajax tag</a> (Teil 3)</li>
<li><a href="http://weblogs.java.net/blog/edburns/archive/2009/10/15/jsf2-facelet-tag-handlers" target="_blank">Ed Burns: JSF2 Facelet Tag Handlers</a></li>
<li><a href="http://info.rmatics.org/2009/10/17/jsf2_tutorial_0/" target="_blank">Adventures in JSF 2.0: Hello World Tutorial using Maven 2, JSF 2, Facelets 2, and Weld</a></li>
<li><a href="http://jsfatwork.irian.at/semistatic/introduction.html" target="_blank">Kostenloses Online-Buch zu JSF 2.0 von irian.at </a></li>
<li><a href="http://www.javaserverfaces.org/" target="_blank">www.javaserverfaces.org</a> &#8211; das soll <em>die</em> Seite als Einstieg für alle JSF-Programmierer werden! Entdeckt habe ich sie via <a href="http://ocpsoft.com/java/jsf-java/jsf2-engaging-the-community/" target="_blank">http://ocpsoft.com/java/jsf-java/jsf2-engaging-the-community/</a> (dort findet man im Übrigen <a href="http://ocpsoft.com/prettyfaces/" target="_blank">PrettyFaces</a>, eine Erweiterung für &#8220;schöne&#8221; URLs bei JSF-Anwendungen)</li>
</ul>
<p>To be continued &#8230; (freue mich über jeden interessanten Link!!!)</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=JSF2%20Linksammlung&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F09%2F13%2Fjsf2-linksammlung%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/09/13/jsf2-linksammlung/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RichFaces in neuer Version: 3.3.1 GA</title>
		<link>http://joachim.weinbrenner.name/2009/05/19/richfaces-in-neuer-version-331-ga/</link>
		<comments>http://joachim.weinbrenner.name/2009/05/19/richfaces-in-neuer-version-331-ga/#comments</comments>
		<pubDate>Tue, 19 May 2009 19:46:41 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=151</guid>
		<description><![CDATA[Das RichFaces Team hat die neue Version 3.3.1 GA veröffentlicht. In erster Linie ging es wohl darum, Bugs zu beseitigen, so wird stolz berichtet, dass über 1100 Probleme gelöst wurden. Dann gibts aber auch ein paar neue Features: Elemente für das Seitenlayout (wie Header, Footer, Sidebar etc.) Elemente für das Seitendesign unter Verwendung von Yahoo [...]]]></description>
			<content:encoded><![CDATA[<p>Das <a href="http://www.jboss.org/jbossrichfaces/" target="_blank">RichFaces</a> Team hat die neue Version 3.3.1 GA veröffentlicht. In erster Linie ging es wohl darum, Bugs zu beseitigen, so wird <a href="http://in.relation.to/Bloggers/RichFaces331GAReleased" target="_blank">stolz berichtet</a>, dass über 1100 Probleme gelöst wurden. Dann gibts aber auch ein paar neue Features:</p>
<ul>
<li>Elemente für das Seitenlayout (wie Header, Footer, Sidebar etc.)</li>
<li>Elemente für das Seitendesign unter Verwendung von <a href="http://developer.yahoo.com/yui/grids/" target="_blank">Yahoo UI CSS Grid</a></li>
<li>Endlich ein Element für eine Farbauswahl (ColorPicker)</li>
</ul>
<p>Schon allein wegen der zahlreichen Bugfixes werde ich wohl in aktuellen Projekten auf die neue Version umstellen. Inwiefern ich die neuen Dinge zum Seitenlayout und -design brauchen kann, weiß ich noch nicht. Muss ich mir genauer ansehen, mein erster Eindruck ist, dass man da mit altbewährtem genau so gut fährt.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=RichFaces%20in%20neuer%20Version%3A%203.3.1%20GA&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F05%2F19%2Frichfaces-in-neuer-version-331-ga%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/05/19/richfaces-in-neuer-version-331-ga/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>geo-faces &#8211; JSF Komponentenbibliothek für interaktive Karten</title>
		<link>http://joachim.weinbrenner.name/2009/04/17/geo-faces-jsf-komponentenbibliothek-fur-interaktive-karten/</link>
		<comments>http://joachim.weinbrenner.name/2009/04/17/geo-faces-jsf-komponentenbibliothek-fur-interaktive-karten/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 20:13:42 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[geo-faces]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=122</guid>
		<description><![CDATA[Es gibt mal wieder etwas Neues aus dem Hause Google:(siehe Kommentare) geo-faces &#8211; eine JSF Komponentenbibliothek zum Erzeugen von interaktiven Karten mit OpenLayers. Damit wird es sehr einfach unter Java serverbasiert Karten in JSF-Applikationen zu integrieren. Das ganze wurde unter Verwendung des RichFaces CDK implementiert und sieht in den ersten Demos schon sehr ordentlich aus. [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: line-through;">Es gibt mal wieder etwas Neues aus dem Hause Google:</span>(siehe Kommentare) <a href="http://code.google.com/p/geo-faces/" target="_blank">geo-faces</a> &#8211; eine JSF Komponentenbibliothek zum Erzeugen von interaktiven Karten mit <a href="http://www.openlayers.org/" target="_blank">OpenLayers</a>.</p>
<p>Damit wird es sehr einfach unter Java serverbasiert Karten in JSF-Applikationen zu integrieren. Das ganze wurde unter Verwendung des <a href="http://www.jboss.org/jbossrichfaces/" target="_blank">RichFaces</a> CDK implementiert und sieht in den ersten Demos schon sehr ordentlich aus.</p>
<p>Ausprobiert habe ich es noch nicht, vielleicht kann ich es in einem kommenden Projekt nutzen; dann werde ich auf jeden Fall hier wieder berichten.</p>
<p>[Update 18.12.09:] Sollte es speziell um Google Maps gehen, empfiehlt es sich vielleicht das <a href="http://code.google.com/p/gmaps4jsf/" target="_blank">GMaps4JSF Projekt</a> in Betracht zu ziehen.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=geo-faces%20%26%238211%3B%20JSF%20Komponentenbibliothek%20f%C3%BCr%20interaktive%20Karten&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F04%2F17%2Fgeo-faces-jsf-komponentenbibliothek-fur-interaktive-karten%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/04/17/geo-faces-jsf-komponentenbibliothek-fur-interaktive-karten/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RichFaces: Query preparation for form &#8216;null&#8217; requested</title>
		<link>http://joachim.weinbrenner.name/2009/04/07/richfaces-query-preparation-for-form-null-requested/</link>
		<comments>http://joachim.weinbrenner.name/2009/04/07/richfaces-query-preparation-for-form-null-requested/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:05:53 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=108</guid>
		<description><![CDATA[Hatte heute ein kleines Problem mit meinen schönen Ajax-Knöpfchen in der JSF-/RichFaces Anwendung, die wir gerade entwickeln. Die Knöpfe (in meinem Fall so etwas in der Art: &#60;a4j:commandLink [...] &#62;&#60;h:graphicImage [...] /&#62;&#60;/a4j:commandLink&#62;) wollten einfach keine Wirkung zeigen &#8211; egal welches Rädchen ich drehte. Also erst mal das A4J-Logging aktiviert: &#60;a4j:log popup=&#34;false&#34; level=&#34;ALL&#34; style=&#34;width: 800px; height: [...]]]></description>
			<content:encoded><![CDATA[<p>Hatte heute ein kleines Problem mit meinen schönen Ajax-Knöpfchen in der JSF-/RichFaces Anwendung, die wir gerade entwickeln. Die Knöpfe (in meinem Fall so etwas in der Art: &lt;a4j:commandLink <em>[...]</em> &gt;&lt;h:graphicImage <em>[...]</em> /&gt;&lt;/a4j:commandLink&gt;) wollten einfach keine Wirkung zeigen &#8211; egal welches Rädchen ich drehte.</p>
<p>Also erst mal das A4J-Logging aktiviert:</p>

<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;a4j:log</span> <span style="color: #000066;">popup</span>=<span style="color: #ff0000;">&quot;false&quot;</span> <span style="color: #000066;">level</span>=<span style="color: #ff0000;">&quot;ALL&quot;</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">&quot;width: 800px; height: 300px;&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Und siehe da, schon erhält man eine Ausgabe, die ich nach kurzem Grübeln entschlüsseln konnte: <em>Query preparation for form &#8216;null&#8217; requested</em>: Ja klar! Ich hatte doch tatsächlich die umschließenden form-Tags vergessen!</p>
<p>Also schnell die &lt;h:form&gt; und &lt;/h:form&gt; drum herum und wieder bewahrheitet sich die alte Weisheit &#8220;Kaum macht man es richtig, schon geht es!&#8221;</p>
<p>Wo wir schon bei Weisheiten sind: Manchmal sieht man eben vor lauter Bäumen den Wald nicht mehr.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=RichFaces%3A%20Query%20preparation%20for%20form%20%26%238216%3Bnull%26%238217%3B%20requested&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F04%2F07%2Frichfaces-query-preparation-for-form-null-requested%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/04/07/richfaces-query-preparation-for-form-null-requested/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSF / RichFaces: Doppelklick auf Tabellenzeile</title>
		<link>http://joachim.weinbrenner.name/2009/03/17/jsf-richfaces-doppelklick-auf-tabellenzeile/</link>
		<comments>http://joachim.weinbrenner.name/2009/03/17/jsf-richfaces-doppelklick-auf-tabellenzeile/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 14:48:08 +0000</pubDate>
		<dc:creator>Joachim Weinbrenner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[RichFaces]]></category>

		<guid isPermaLink="false">http://joachim.weinbrenner.name/?p=38</guid>
		<description><![CDATA[Hier wird ein kurzes Beispiel gezeigt, wie man auf einer JSF-Seite unter Verwendung von RichFaces bzw. Ajax4jsf auf einen Doppelklick in einer DataTable mit einer Action reagieren kann. Die Tabelle listet Personen auf, beim Doppelklick auf eine Zeile soll eine Maske zur Bearbeitung der selektierten Person geöffnet werden. In diesem Fall wurde nicht die &#8220;normale&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Hier wird ein kurzes Beispiel gezeigt, wie man auf einer JSF-Seite unter Verwendung von <a href="http://www.jboss.org/jbossrichfaces" target="_blank">RichFaces </a>bzw. Ajax4jsf auf einen Doppelklick in einer DataTable mit einer Action reagieren kann.</p>
<p>Die Tabelle listet Personen auf, beim Doppelklick auf eine Zeile soll eine Maske zur Bearbeitung der selektierten Person geöffnet werden. In diesem Fall wurde nicht die &#8220;normale&#8221; DataTable verwendet, sondern die <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/extendedDataTable.jsf" target="_blank">ExtendedDataTable</a>. Sie sieht in etwa so aus:</p>
<p><img class="alignnone size-full wp-image-40" style="float: none" title="datatable" src="http://joachim.weinbrenner.name/wp-content/uploads/datatable.png" alt="datatable" width="350" height="128" /></p>
<p>Zuerst der Codeausschnitt der JSF-Seite:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h:form</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;personen&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rich:extendedDataTable</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;#{personListBean.fullPersonList}&quot;</span></span>
<span style="color: #009900;">        <span style="color: #000066;">var</span>=<span style="color: #ff0000;">&quot;person&quot;</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;persontable&quot;</span> </span>
<span style="color: #009900;">        <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;886px&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;400px&quot;</span> <span style="color: #000066;">sortMode</span>=<span style="color: #ff0000;">&quot;single&quot;</span> <span style="color: #000066;">selectionMode</span>=<span style="color: #ff0000;">&quot;single&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a4j:support</span> <span style="color: #000066;">event</span>=<span style="color: #ff0000;">&quot;onRowDblClick&quot;</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">&quot;#{PersonEditBean.prepareEdit}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;f:setPropertyActionListener</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;#{person}&quot;</span></span>
<span style="color: #009900;">                <span style="color: #000066;">target</span>=<span style="color: #ff0000;">&quot;#{PersonEditBean.selectedPerson}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a4j:support<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rich:column</span> <span style="color: #000066;">sortable</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">sortBy</span>=<span style="color: #ff0000;">&quot;#{person.nachname}&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">filterBy</span>=<span style="color: #ff0000;">&quot;#{person.nachname}&quot;</span> <span style="color: #000066;">filterEvent</span>=<span style="color: #ff0000;">&quot;onkeyup&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;170px&quot;</span> <span style="color: #000066;">label</span>=<span style="color: #ff0000;">&quot;Nachname&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;f:facet</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;header&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h:outputText</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;Nachname&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/f:facet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h:outputText</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">&quot;#{person.nachname}&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rich:column<span style="color: #000000; font-weight: bold;">&gt;</span></span></span> 
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rich:column</span> <span style="color: #000066;">sortable</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">sortBy</span>=<span style="color: #ff0000;">&quot;#{person.vorname}&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #808080; font-style: italic;">&lt;!-- [...] --&gt;</span>
        <span style="color: #808080; font-style: italic;">&lt;!-- [weitere Columns ...] --&gt;</span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/rich:extendedDataTable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h:form<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Der entscheidende Code:<br />
In Zeile 3 wird über var=&#8221;person&#8221; die Variable für die verknüpften Instanzen in den Zeilen angelegt.<br />
Die Zeilen 5 bis 8 definieren das AJAX Doppelklick Event. Als Action wird im PersonEditBean die Methode prepareEdit() angegeben. Dort geschieht eigentlich nichts weiter als das Umkopieren der Werte. Damit überhaupt die richtige (also die doppelgeklickte) Person verwendet wird, ist der PropertyActionListener nötig (Zeile 6 und 7).</p>
<p>Bleibt noch zu klären, wie denn nun die Maske zum Editieren der Person zum Zuge kommt. Dies wurde hier einfach mit einer klassischen Navigation geregelt; hier der Ausschnitt aus der faces-config.xml:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;navigation-rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;from-view-id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/[...]/personen.jsp<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/from-view-id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;navigation-case<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;from-action<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>#{PersonEditBean.prepareEdit}<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/from-action<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;from-outcome<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>prepare_erfolgreich<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/from-outcome<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;to-view-id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>/[...]/editperson.jsp<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/to-view-id<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;redirect</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/navigation-case<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/navigation-rule<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Die prepareEdit() Methode liefert als Ergebnis den String &#8220;prepare_erfolgreich&#8221; und schon wird weitergeleitet. Immer? Eigentlich schon, lediglich der Internet Explorer will mal wieder nicht. Dagegen hilft aber Zeile 7 (&#8220;&lt;redirect/&gt;&#8221;). Vielen Dank für diesen <a href="http://www-02.imixs.com:8081/roller/ralphsjavablog/entry/richfaces_feature_will_not_work" target="_blank">Hinweis aus Ralph&#8217;s Java Blog</a>!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=lost%20in%20thought&amp;siteurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F&amp;linkname=JSF%20%2F%20RichFaces%3A%20Doppelklick%20auf%20Tabellenzeile&amp;linkurl=http%3A%2F%2Fjoachim.weinbrenner.name%2F2009%2F03%2F17%2Fjsf-richfaces-doppelklick-auf-tabellenzeile%2F"></a>]]></content:encoded>
			<wfw:commentRss>http://joachim.weinbrenner.name/2009/03/17/jsf-richfaces-doppelklick-auf-tabellenzeile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

