<?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>Privates Blog von Karsten Gresch &#187; jsf</title>
	<atom:link href="http://blog.gresch.de/tag/jsf/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gresch.de</link>
	<description>Varia, Miscellania</description>
	<lastBuildDate>Wed, 06 Jul 2011 18:23:07 +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>Social DNA</title>
		<link>http://blog.gresch.de/2008/09/04/social-dna/</link>
		<comments>http://blog.gresch.de/2008/09/04/social-dna/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 20:45:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[bildung]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Ideen]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Literatur]]></category>
		<category><![CDATA[Politik]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=286</guid>
		<description><![CDATA[Letztens eine Nachricht über XING erhalten. Der Absender zeigte sich erfreut über meine dort hinterlegten Interessen, als da wären: Softwareentwicklung mit agilen Methoden, Java EE (JEE), J2EE, Java2EE, Java, Ruby, Linux, JSF, Spring, Hibernate, SCALA, JBoss Seam, Maven, Apache Software Foundation, Eclipse, Eclipse RCP, NetBeans, Rules Engines, Middleware, SOA, BPM, ITIL, TOGAF, Zachman, Lean Management, [...]]]></description>
			<content:encoded><![CDATA[<p>Letztens eine Nachricht über XING erhalten. Der Absender zeigte sich erfreut über meine dort hinterlegten Interessen, als da wären:</p>
<p><em>Softwareentwicklung mit agilen Methoden, Java EE (JEE), J2EE, Java2EE, Java, Ruby, Linux, JSF, Spring, Hibernate, SCALA, JBoss Seam, Maven, Apache Software Foundation, Eclipse, Eclipse RCP, NetBeans, Rules Engines, Middleware, SOA, BPM, ITIL, TOGAF, Zachman, Lean Management, IT-Strategie, Neue Musik, Klassische Musik, Musizieren, Klavier, Klarinette, Literatur (speziell Lyrik), Literatur, Bildende Künste, Kunst, Kulturgeschichte, Kunstgeschichte, Berlin, London, Venedig, Paris, Florenz, Rechtsinformatik, Italien, Großbritannien, English Literature, English Verse. Werke u.a. folgender Personen: Fowler, Tiepolo, Eisenstein, Braudel, Schnitzler, Ligeti, Knuth, Pushkin, Satie, Bellini, Monteverdi, Adams, Veronese, Shelley, Brecht, Dowson, Brahms, Montaigne, Schumann, Kubrick, Rameau, Bartok, Huizinga, Mahler, v. Bingen, Lenau, Frisch, Lenz, Olbrisch, Brunelleschi, Lichtenberg, Turner, Günther, Trakl, Scelsi, Redon, Streeruwitz, Flaubert, Friedell, Naso, Wilde, Bernhard, Erasmus, Gernhardt, Klimt, Palladio, Rückert, Härtling, Flaccus, v.d. Weyden, Balthus, Reynaldo Hahn, Caroll, Borodin, Verlaine, Mörike, Schobert, Villon, Greenaway, Heym, Thelen, Watteau, Abschatz, Jelinek, Bach (4x), Huysmans, Schiele, Ravel, Walser, V. Klemperer, Augustinus, Kling, Mann (2x), Gombrich, Stroustrup, Auster, Brüder Limburg, Franck, Purcell, Fellini, Truffaut, Hofmannsthal, Pollock, Schubert, Bresdins, Ariès/Duby, Bulgakow, Lenz, Proust, Neruda, de Beauvoir, Brouwer, Fragonard, Degas, Kurtag, Zelenka, Pepys, Rimbaud, Giorgione, Bachmann, Vian, Wilder, Wilmot/Rochester, Brinkmann, Callot, Opitz, Couperin, Ockeghem, Giacometti, Celan, Klinger, Catull, Sterne. Laufen, Laufsport, Joggen, Marathon.</em></p>
<p><em> </em><em> </em></p>
<p><em> </em></p>
<p><em> </em></p>
<p>Diese hatte ich schon vor längerer Zeit einmal zusammengekramt, um einer <a href="http://blog.gresch.de/2005/05/05/computersprache/">schmerzhaft</a> Geliebten zu erkennen zu geben, ich wäre der richtige für sie, allein meiner Interessen wegen. (Magisches Denken, Zaubersprüche der Kindheit, nur transzendiert.).</p>
<p>Tatsächlich erkannte ich nach einer Weile, dass diese Frau sich weder für mich noch für wenigstens 10% der aufgeführten &#8220;Inhalte&#8221; hinter den Namen interessierte.</p>
<p>Wär mir letzteres wiederum von Anfang an bekannt gewesen, hätte ich gar nicht damit begonnen, ihr nichtvorhandene Gemeinsamkeiten zu unterstellen (Gegengeschlechtlichkeit ist ja wirklich keine Gemeinsamkeit.).</p>
<p>Und auch kein ernsthaftes Interesse für sie entwickelt.</p>
<p>Das wirft bei mir die Frage auf, ob es nicht irgendeinen Social-Web-Dienst gibt, bei dem man solche Informationen nicht hinterlegen kann, um eine &#8220;Interest Map&#8221; zu erstellen, die man dann mit der anderer Nutzer vergleichen kann. Auf diese Weise könnte man eine <a href="/index.php?/archives/212-Frisch-Lektuere-Rueckzug-aufs-Selbst.html">Sozial-DNA</a> erstellen, und Menschen finden, die ähnliche Interessen haben / Ziele verfolgen.</p>
<p>Am besten noch mobil die Sozial-DNA gegeneinander abgleichen können. Und das noch für berufliche Profile und private. Und eine &#8220;Heat Map&#8221;, die anzeigt, wo sich im Raum die Leute befinden, mit denen man zumindest die Interessen teilt. Etc. Etc. (z.B. mit sozioökonomischen und politischen Kriterien).</p>
<p>Datenschutz wäre da ein noch sensibleres Thema als bei den gängigen &#8220;Social Tools&#8221;. Mir erschiene <em>so etwas</em> jedenfalls sinnvoller als die ganzen &#8220;Legacy DNA&#8221; Startups wie <a href="http://www.navigenics.com/">Navigenics </a>etc., die einem alles und nichts zu der eigenen DNA mitteilen. Die Möglichkeit, die &#8220;Social DNA&#8221; (die keinen Status ausdrückt, sondern mikroindividuelle Differenzierung) verändern zu können, ist hier entscheidend: Jeder Mensch hat ja die Möglichkeit, sein Profil zu verändern. Ggf. sollte man sogar von vornherein angeben können, in welche Richtung man sich entwickeln möchte, was man nicht kennt, aber kennen möchte etc.</p>
<p>Konkreter sollte das ganze so gestaltet sein, dass für den Grunddatenbestand eine Anzahl von etwa 100 unterschiedlichen &#8220;Leads&#8221; (Schlüsselpersonen) ihre inhaltlichen, kulturellen, religiösen, sportlichen, politischen Interessen und Kenntnisse, Ziele und Vorlieben mitteilen, am besten über eine Liste von Stichwörtern wie oben dargestellt.</p>
<p>Diese wird dann geparst, bestehenden Schlüsselobjekten und semantisch zugeordnet. Danach erfolgt dann eine Auswertung / Neuindexierung der ermittelten Objekte durch die Nutzer. Sind die Schlüsselbobjekte zugeordnet, werden sie bewertet: Bei &#8220;Werken&#8221;, Künstlerinnen, Musikstücken (kristalline Intelligenz) vor allem nach Vorlieben (mag ich / mag nicht / mir unbekannt), bei konzeptionellen Schlüsselobjekten (fluider Intelligenz) auch nach Fähigkeit (verstehe/kann ich, verstehe/kann ich nicht / mir unbekannt).</p>
<p>Dieser Grunddatenbestand kann dann von anderen übernommen und weiter angepasst werden.</p>
<p>Das ganze mit der Möglichkeit, sich mit anderen Nutzern &#8220;zu verbinden&#8221;, von ihnen Objekte zu übernehmen und für sich selbst zu bewerten, zu suchen und sich finden zu lassen und sich eine Timeline anzeigen zu lassen, aus der man später ermitteln kann, wie sich die eigene Social DNA verändert hat.</p>
<p>Falls jemand einen solchen Dienst kennt, wär ich für einen Hinweis sehr dankbar <img src='http://blog.gresch.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2008/09/04/social-dna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Facelets und JSF (Thomas Spiegl, IRIAN.at)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 12:12:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[facelets]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[jsf]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=181</guid>
		<description><![CDATA[Thomas Spiegl: Committer MyFaces. Einstieg: http://facelets.dev.java.net Nachteile von JSP&#8230; JSF 1.1-Problem falsche plazierte Renderung, kein Template-Framework. MyFaces hat Tiles-ViewHandler. Warum Facelets verwenden: HTML-Content kann schlecht in Komponentenbaum eingefÃ¼gt werden. 1.es Beispiel &#60;h:panelGrid columns=1&#34;&#62; &#60;h1&#62;&#60;h:outputText value=&#34;text&#34; /&#62; &#60;/h1&#62;&#60;/h:panelGrid&#62; Rendert als: &#60;table&#62;&#60;tr&#62;&#60;td&#62;text&#60;/td&#62;&#60;/tr&#62; &#60;h1&#62;&#60;/h1&#62; &#60;/table&#62; (Ist aber bei 1.2 gelÃ¶st mit automatischem verbatim-Tag). 2.es Beispiel &#60;h:outputLabel for=&#34;name&#34; /&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Thomas Spiegl: Committer MyFaces.</p>
<p>Einstieg: <a href="http://facelets.dev.java.net">http://facelets.dev.java.net</a></p>
<p>Nachteile von JSP&#8230; JSF 1.1-Problem falsche plazierte Renderung, kein Template-Framework. MyFaces hat Tiles-ViewHandler.</p>
<p>Warum Facelets verwenden:</p>
<p>HTML-Content kann schlecht in Komponentenbaum eingefÃ¼gt werden.</p>
<p><b>1.es Beispiel</b></p>
<p>&lt;h:panelGrid columns=1&quot;&gt;</p>
<p>&lt;h1&gt;&lt;h:outputText value=&quot;text&quot; /&gt;</p>
<p>&lt;/h1&gt;&lt;/h:panelGrid&gt;</p>
<p>Rendert als:</p>
<p>&lt;table&gt;&lt;tr&gt;&lt;td&gt;text&lt;/td&gt;&lt;/tr&gt;</p>
<p><b>&lt;h1&gt;&lt;/h1&gt;</b></p>
<p>&lt;/table&gt;</p>
<p>(Ist aber bei 1.2 gelÃ¶st mit automatischem verbatim-Tag).</p>
<p><b>2.es Beispiel</b></p>
<p>&lt;h:outputLabel for=&quot;name&quot; /&gt;</p>
<p>&lt;h:inputText id=&quot;name&quot; /&gt;</p>
<p>JSP und JSF 1.1: Label wird erst beim 2.en Request auf die Seite gerendert.</p>
<p>Facelets und JSF 1.1: Label wird gerendert. Komponentenbaum wird vor Renderphase aufgebaut.</p>
<p>(Ist auch bei JSF 1.2) vorhanden.</p>
<p>DataTable mit DataScroller &#8211; funktioniert nur, wenn der DS unterhalb der Table liegt.</p>
<ul>
<li>Performance 10-15% besser als JSP.</li>
<li>besseres Error-Reporting.</li>
<li>&quot;leichte&quot; Komponenten</li>
<li>einfaches Templating, ohne XML;</li>
<li>besseres Error Reporting &#8211; in web.xml. ui:debug</li>
<li>Designerfreundlich.</li>
<li>Konzept w</li>
</ul>
<p><b>Einrichten</b></p>
<p>FaceletViewHandler einbinden in faces-config.xml</p>
<p>Tag Libraries in facelets.LIBRARIES (web.xml Context-Param)</p>
<p>facelets.DEVELOPMENT</p>
<p>facelets.BUFFER_SIZE</p>
<p>facelets.REFRESH_PERIOD; Standard = 2 (Sekunden), lÃ¤dt die XHTML-Dateien nach. -1 zum Ausschalten.</p>
<p>facelets.VIEW_MAPPINGS</p>
<p>facelets.SKIP_COMMENTS false ist default. Sonst werden Kommentare Ã¼bermittelt.</p>
<p>facelets.BUILD_BEFORE_RESTORE default: false. Facelet baut Komponentenbaum ganz ab Beginn auf.</p>
<p><b>Erforderliche jars</b>:</p>
<ul>
<li>el-ri.jar</li>
<li>el-api.jar</li>
<li>jsf-facelets.jar</li>
</ul>
<p>JSF EL auch zum Schreiben von Properties. EL-libs fÃ¼r 1.5 kompiliert, aber im Netz auch noch fÃ¼r 1.4.</p>
<p>Maven-Konfig: Dependencies. http://maven-repository.dev.java.net/nonav/repository</p>
<p>Legacy-Attribut setzen fÃ¼r mvn2</p>
<p>Logging-Eigenschaften separat.</p>
<p>Beispielseite: Normales XHTML, Namespaces eingebunden.</p>
<p><b>Templating</b></p>
<p>xmlns:ui=&quot;http://~&quot;</p>
<p><b>Verwendung</b></p>
<p>mit ui:composition und ui:define. Alles auÃŸerhalb wird nicht geÃ¤ndert</p>
<p><b>Beispiel</b>: XHML-Datei erstelllt. Facelet-Namespace geholt und ui:definitionen =&gt; Template</p>
<p>Neue Datei mit Verweisauf Template. &lt;ui:composition&gt;&lt;ui:define name=&quot;content&quot; &gt;Das ist Inhalt =&gt; Ã¼berscjreibt default-Wert.</p>
<p>ui:decorate : Inhalt fÃ¼gt sich ein, alles Umgebende wird mitgerender</p>
<p>jsfc &#8211; Zur Kompilezeit Element in Komponente umwandeln.</p>
<p>&lt;input type=&quot;text&quot; jsfc=&quot;h:inputText&quot; etc.</p>
<p><b>JSTL-Support</b>: Nur eingeschrÃ¤nktes Set. Probleme beim Rendern: encodeChildren=&quot;true&quot;</p>
<p>ui:repeat statt c:forEach (buggy); besser rendered=&quot;true&quot; oder t:dataList</p>
<p><b>Custom TagLibs</b></p>
<p>Komponenten rein aus XHTML &#8211; TagHandler, Converter, Validator,</p>
<p>2 Alternative: 1 XML-Tag pro Komponente</p>
<p>1 XML-Tag, das eine Java-Klasse spezifiziert, welche die Konfiguration ausfÃ¼hrt. </p>
<p>&lt;facelet-taglib&gt;</p>
<p>&lt;namespace &#8230;&gt;</p>
<p>&lt;tag&gt;</p>
<p>&lt;tag-name&gt; etc.</p>
<p>Oder an Klasse binden (aber ungewÃ¶hnlich)</p>
<p>Einbindung der TagLib. Context-Param in web.xml facelets.LIBRARIES</p>
<p>oder Meta-Inf-Einbindung Ã¼ber WEB-INF/lib (automatisch)</p>
<p><b>Dynamische Komponenten</b></p>
<p />
<p />
<p>in Facelets library</p>
<p>Beispiel f. <b>Eingabekomponente</b>.</p>
<p>ui:component alle Anderen sind Kind-Elemente.</p>
<p>Ist echte Komponente im Baum.</p>
<p>Label mit Eingabekomponenten-Validierung. &lt;f:validateLength&gt;, indem in Template &lt;ui:insert /&gt; eingefÃ¼gt wird. Input-Text bekomment Validator gesetzt</p>
<p><b>Dynamische MenÃ¼s</b>-Beispiel.</p>
<p>Beispiel: Table-/Scroller-Kombination. </p>
<p>Method-Binding</p>
<p>funktioniert nicht: action=&quot;#{myBean.myAction}&quot;</p>
<p>sondern backing=&quot;{#myBean}&quot; action=&quot;myAction&quot;</p>
<p>und command action=&quot;backing[myBean]&quot; (###?, prÃ¼fen###)</p>
<p>Welche &lt;ui:&#8230;/&gt;-Tags</p>
<p>ui:fragment: rendert auch auÃŸenstehenden Text.</p>
<p>ui:composite</p>
</p>
<p>ui:decorate</p>
<p>ui:component</p>
<p>EL-Funktionen</p>
<p>JSP-Komponenten mÃ¼ssen in Taglib definiert werden. Component-Type + -Renderer festlegen.</p>
<p>Taglibs z.B.zum Einbinden in Tomahawk, auf Wiki-Seite von Faces.</p>
<p>Tag-Handler &#8211; Beispiel fÃ¼r Method-Binding. Tag-Handler nur einmal. dataTable-Tag-Handler: var-SpezialitÃ¤t. In Tomahawk kann das var-Attribut Ã¼ber Binding angespr werden</p>
<p>MetaRulest -Aliase, Attribute ignorieren, Meta-Rules f. Method-Binding.</p>
<p>Inlined EL-Expression: <b>unterstÃ¼tzen keine Konvertierung und kein Encoding</b> (also fÃ¼r Prototyping)</p>
<p>Debugging-Ausgabe: Mit Component-Tree und Scoped Vars, sehr nÃ¼tzlich.</p>
<p>In JSF 2.0 sollte eine Ã¤hnliche Technologie im Standard vorhanden sein (2008).</p>
<p><b>KGs Fazit:</b></p>
<p>Facelets sind JSP eindeutig vorzuziehen. Erhebliche Erleichterungen beim Erstellen von Taglibs. Intuitiveres Programmieren. </p>
</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-facelets-und-jsf-thomas-spiegl-irian-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Apache Trinidad &#8211; JavaServer Faces Erster Klasse! (Matthias Weßendorf, Oracle Corp.)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 10:18:04 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=174</guid>
		<description><![CDATA[Geschichte Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor. Wiki Komponenten Ca. 105 Komponenten. HTML AJAX Renderkit. Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &#34;out-of-the-box&#34;. Dazu sind die Maven-Facelet-Plugins erforderlich. Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig. tr:charts &#8211; SVG-Graphiken, ziemlich beeindruckend. tr:breadCrumbs &#8211; &#34;HÃ¤nsel u. Gretel-Navigation&#34; tr:document &#8211; individuelle Load-Manipulation. [...]]]></description>
			<content:encoded><![CDATA[<p><b>Geschichte</b></p>
<p>Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor.</p>
<p><a href="http://wiki.apache.org/myfaces/Trinidad">Wiki</a></p>
<p><a href="http://myfaces.apache.org/wiki/Trinidad"></a></p>
<p><b></b></p>
<p><b></b></p>
<p><b>Komponenten</b></p>
<p>Ca. 105 Komponenten. HTML AJAX Renderkit.</p>
<p>Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &quot;out-of-the-box&quot;. Dazu sind die Maven-Facelet-Plugins erforderlich.</p>
<p>Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig.</p>
<p><i>tr:charts</i> &#8211; SVG-Graphiken, ziemlich beeindruckend.</p>
<p><i>tr:breadCrumbs</i> &#8211; &quot;HÃ¤nsel u. Gretel-Navigation&quot;</p>
<p><i>tr:document</i> &#8211; individuelle Load-Manipulation.</p>
<p><i>tr:form</i> &#8211; Anders als normal</p>
<p><i>tr:icon</i> &#8211; Skin-Icon</p>
<p><i>tr:inputListOfValue</i> action kann sich auf bestimmte Datei beziehen.</p>
<p><i>tr:inputSpinBox</i> Zahlenwert in Mini-List, mit Tastatur Ã¤nderbar</p>
<p><i>tr:legend</i> &#8211; fÃ¼r Skin Icons</p>
<p><i>tr:navigationPane</i> z.B. als Tab gerendert. Abstrakte Klasse aus dem Model Ã¼berschreiben (&quot;Swingy&quot;).</p>
<p />
<p><i>tr:navigationTree</i></p>
<p><i>tr:page</i> &#8211; f. Grundstruktur d. Layouts</p>
<p><i>tr:panel</i> &#8211; diverse Layout-Komponenten, Border-, Group-, Form-Layout (wie Layout-Mgr). (###?Tomahawk document?###) </p>
<p><i>tr:poll</i> Fortschrittsbalken &#8211; ziemlich cool &#8211; partialTriggers=&quot;poll&quot; setzen. So lange wie Transaktion nicht abgeschlossen, wird die Seite angezeigt. action=&quot;[Seite/Zustand nach Beendigung]&quot;; Beispiel: Auch fÃ¼r regelmÃ¤ÃŸiges Pollen auf Daten mÃ¶glich (z.B. Aktienticker). Auch z.B. zum ÃœberprÃ¼fen aktiver Session.</p>
<p><i>tr:selectOne[...]</i> &#8211; Zum AuswÃ¤hlen nur eines Elements (v.a. choice)</p>
<p><i>tr:selectManyShuttle</i> &#8211; zwei ListBoxes mit MÃ¶glichkeit, Werte von einer in die andere zu Ã¼bertragen.</p>
<p><i>tr:singleStepButton</i> </p>
<p><i>tr:subform</i> &#8211; Vorversenden von Formteilen</p>
<p><i>tr:treeTable</i> </p>
<p>Table-Sortierung sehr einfach, ebenso Selektion. </p>
<p><i>tr:setActionListener</i> (auch in JSF 1.2 default &#8211; fÃ¼r den Service Manager sehr interessant).</p>
<p />
<p />
<p />
<p><b>Projektstruktur</b></p>
<ul>
<li><i>trinidad-api</i> <br />Basisklassen, abstrakte Klassen, Code nur fÃ¼r Trinidad-Entwickler interessant&#8230;</li>
<li><i>trinidad-impl</i></li>
<li><i>trinidad-build</i></li>
</ul>
<p>JSF-Komponentenerstellung beschrÃ¤nkt sich auf das Schreiben lediglich der Rendererklasse (!). Facelets u.U. problematisch. </p>
<p> </p>
<p><b>Framework</b></p>
<p>API. Vereinfachung der Komponentenerstellung. Dialogframework. Optimierte Komponentenspeicherung: UIXComponentBase benutzt direkt Map und delegiert Bean-Methoden. </p>
<p> Maven2-Plugins. TagDoc Personalisierung. Skinning-Dateien.</p>
<p>Dialogframework z.B: fÃ¼r Wizards. processScope zw. Request und Session. Events: launch und return. </p>
<p><b>HTML AJAX RenderKit</b></p>
<p>Partial Page Rendering. iframe anstelle von XmlHttpRequest-Objekt. Clientseitige Validierung, kein form.submit(). WÃ¤re u.U. auch sehr interessant f. Service Manager.</p>
<p><i>autoSubmit</i> &#8211; input Components f. action, <i>partialSubmit</i> &#8211; command, partialTriggers &#8211; fÃ¼r listener, bezieht sich auf partial/autoSubmit Komponente</p>
<p>PPR via Java API auch mÃ¶glich (in action-Methode; RequestContext-Objekt von Trinidad nicht mit Faces-OBjekt verwechseln.).</p>
<p><i>RenderKit Extension</i> &#8211; JS an Client senden (programmatisch).</p>
<p>RenderKit Skinning Architecture. CSS anlegen, registrieren in <i>trinidad-config.xml</i> und <i>trinidad-skins.xml</i></p>
<p>Referenzieren auf Komponenten Ã¼ber Pseudoelemente, <i>af|Komponente::Attribut { &#8230; }</i> </p>
<p>Skinning-Verhalten Ã¼ber EL dynamisch Ã¤nderbar! </p>
<p>Accessibility: default, inaccessible, screenreader (f. Blinde), right-to-left, debug-output</p>
<p>Demo-Anwendung <a href="http://code.google.com/p/facesgoodies">http://code.google.com/p/facesgoodies</a>.</p>
<p><b></b></p>
<p><b></b></p>
<p />
<p><b>Arbeiten mit Trinidad</b></p>
<p>Vergleich JSF-Standard ./. Trinidad. Sehr angenehm: tr-Tags mit anderen (f) einsetzbar.</p>
<p>JSF 1.2 nur im branch, wartet auf MyFaces update. Aber stable, mit &quot;magic script&quot; permanentes Merge, derzeit keine nightly builds, das Continuum derzeit down.</p>
<p><b>Gesamteindruck</b></p>
<p>Sehr mÃ¤chtig, sehr traurig, dass das HTML AJAX RenderKit auf iframe basiert</p>
<p><b></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>web.xml für JSF</title>
		<link>http://blog.gresch.de/2007/04/10/web-xml-fuer-jsf/</link>
		<comments>http://blog.gresch.de/2007/04/10/web-xml-fuer-jsf/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 20:52:56 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[andromda]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[mda]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=164</guid>
		<description><![CDATA[Diese hier ist einigerma&#223;en sinnvoll; was von Genuitec angeboten wird, ist eher zweifelhaft, insb. das servlet-mapping. Am einfachsten geht&#39;s aber mittlerweile mit Maven, siehe http://wiki.apache.org/myfaces/MyFaces_Archetypes_for_Maven. Eigentlich sind solche Archteypen ja etwas f&#252;r MDA-&#34;FUDders&#34;, denn der Unterschied hinsichtlich der Vorgehensweise zur JSF-Cartridge von AndroMDA ist gar nicht so gro&#223;.&#160; &#160; Zur Dokumentation:&#160; &#60;?xml version=&#34;1.0&#34;?&#62;&#60;web-app version=&#34;2.4&#34; xmlns=&#34;http://java.sun.com/xml/ns/j2ee&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Diese hier ist einigerma&szlig;en sinnvoll; was von Genuitec angeboten wird, ist eher zweifelhaft, insb. das <i>servlet-mapping</i>.</p>
<p>Am einfachsten geht&#39;s aber mittlerweile mit Maven, siehe <a href="http://wiki.apache.org/myfaces/MyFaces_Archetypes_for_Maven">http://wiki.apache.org/myfaces/MyFaces_Archetypes_for_Maven</a>.</p>
<p>Eigentlich sind solche Archteypen ja etwas f&uuml;r MDA-&quot;FUDders&quot;, denn der Unterschied <i>hinsichtlich der Vorgehensweise</i> zur <a href="http://galaxy.andromda.org/docs-3.1/andromda-jsf-cartridge/index.html">JSF-Cartridge von AndroMDA</a> ist gar nicht so gro&szlig;.&nbsp;</p>
<p>&nbsp;</p>
<p>Zur Dokumentation:&nbsp;</p>
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;<web-app xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"><context-param><description>&lt;web-app version=&quot;2.4&quot; xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;&gt; 

    &lt;context-param&gt;        &lt;description&gt;            State saving method: &quot;client&quot; or &quot;server&quot; (= default)            See JSF Specification 2.5.2        &lt;/description&gt;            &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;        &lt;param-value&gt;server&lt;/param-value&gt;    &lt;/context-param&gt;

    &lt;context-param&gt;        &lt;description&gt;            This parameter tells MyFaces if javascript code should be allowed in the            rendered HTML output.            If javascript is allowed, command_link anchors will have javascript code            that submits the corresponding form.            If javascript is not allowed, the state saving info and nested parameters            will be added as url parameters.            Default: &quot;true&quot;        &lt;/description&gt;            &lt;param-name&gt;org.apache.myfaces.ALLOW_JAVASCRIPT&lt;/param-name&gt;        &lt;param-value&gt;true&lt;/param-value&gt;    &lt;/context-param&gt;

    &lt;context-param&gt;        &lt;description&gt;            This parameter tells MyFaces if javascript code should be allowed in the            rendered HTML output.            If javascript is allowed, command_link anchors will have javascript code            that submits the corresponding form.            If javascript is not allowed, the state saving info and nested parameters            will be added as url parameters.            Default: &quot;false&quot;

            Setting this param to true should be combined with STATE_SAVING_METHOD &quot;server&quot; for            best results.

            This is an EXPERIMENTAL feature. You also have to enable the detector filter/filter mapping below to get            JavaScript detection working.        &lt;/description&gt;        &lt;param-name&gt;org.apache.myfaces.DETECT_JAVASCRIPT&lt;/param-name&gt;        &lt;param-value&gt;false&lt;/param-value&gt;    &lt;/context-param&gt;

    &lt;context-param&gt;        &lt;description&gt;            If true, rendered HTML code will be formatted, so that it is &quot;human readable&quot;.            i.e. additional line separators and whitespace will be written, that do not            influence the HTML code.            Default: &quot;true&quot;        &lt;/description&gt;        &lt;param-name&gt;org.apache.myfaces.PRETTY_HTML&lt;/param-name&gt;        &lt;param-value&gt;true&lt;/param-value&gt;    &lt;/context-param&gt;

    &lt;context-param&gt;        &lt;description&gt;            If true, a javascript function will be rendered that is able to restore the            former vertical scroll on every request. Convenient feature if you have pages            with long lists and you do not want the browser page to always jump to the top            if you trigger a link or button action that stays on the same page.            Default: &quot;false&quot;        &lt;/description&gt;            &lt;param-name&gt;org.apache.myfaces.AUTO_SCROLL&lt;/param-name&gt;        &lt;param-value&gt;true&lt;/param-value&gt;    &lt;/context-param&gt;

    &lt;!-- Extensions Filter --&gt;    &lt;filter&gt;        &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;        &lt;filter-class&gt;org.apache.myfaces.webapp.filter.ExtensionsFilter&lt;/filter-class&gt;        &lt;init-param&gt;            &lt;description&gt;Set the size limit for uploaded files.                Format: 10 - 10 bytes                        10k - 10 KB                        10m - 10 MB                        1g - 1 GB            &lt;/description&gt;        			&lt;param-name&gt;maxFileSize&lt;/param-name&gt;			&lt;param-value&gt;20m&lt;/param-value&gt;        &lt;/init-param&gt; &lt;/filter&gt; &lt;filter-mapping&gt;  &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;  &lt;!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry --&gt;  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt; &lt;/filter-mapping&gt; &lt;!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  --&gt; &lt;filter-mapping&gt;  &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;  &lt;url-pattern&gt;/faces/myFacesExtensionResource/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;filter-mapping&gt;  &lt;filter-name&gt;MyFacesExtensionsFilter&lt;/filter-name&gt;  &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt; &lt;/filter-mapping&gt;

 &lt;!-- Listener, that does all the startup work (configuration, init). --&gt; &lt;listener&gt;  &lt;listener-class&gt;org.apache.myfaces.webapp.StartupServletContextListener&lt;/listener-class&gt; &lt;/listener&gt; &lt;!-- Faces Servlet --&gt; &lt;servlet&gt;  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;  &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt;  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;servlet-mapping&gt;  &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; &lt;login-config&gt;  &lt;auth-method&gt;BASIC&lt;/auth-method&gt; &lt;/login-config&gt;&lt;/web-app&gt;</description></context-param></web-app></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/10/web-xml-fuer-jsf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

