Shop

Dienstag, 8. Juli 2014

JSF Komponenten in JavaScript identifizieren, oder wie kommt man an die clientID einer Komponente

Generelle Patentrezepte gibt es auch hier nicht, aber ich möchte verschiedene Anwendungsszenarien aufzeigen, die Ihnen vielleicht helfen können einige knifflige JSF JavaScript Problemchen zu lösen.

Die einfachste Art an eine Komponenten Id zu kommen ist sicherlich folgende:

<h:inputtext binding="#{fullName}" value="#{fullName}">
</h:inputtext>
#{fullName.clientId}

Somit kann man einfach auf die Id zugreifen und diese z.B. in JavaScripts verwenden.

Für JavaScript bietet sich JQuery an, mit JQuery kann man leicht ein Dom Objekt identifizieren:

$('#{fullName.clientId}'.replace(/:/g,"\\:"))
    oder
    $('[@id=#{fullName.clientId}]')

Das Problem im ersten fall ist, dass alle ‘:’ escaped werden müssen, darum die replace Funktion, im zweiten Fall ist das nicht notwendig, da über das id Attribut gesucht wird.

Allerdings kommt man so nicht immer zum Ziel und ich gehe oft darauf über, über Klassen zu referenzieren, vorallem dann wenn man über eine Komponente innerhalb einer ui:repeat referenzieren will, ist das oftmals kein Fehler:

<h:inputText id="value"styleClass="#{field.name} #{page.id}"
value="#{field.value}"></h:inputText>

Zugreifen kann man dann über:

$('.#{field.name}.#{page.id}')

Das Ganze ist hier natürlich nur Theorie. In der Praxis wir man den JavaScript-Code z.B. über ein ClientBehavior rendern.

Freitag, 7. Februar 2014

Java Art - Puzzle 1

Java also can be art.
But what is the result of the execution.

Singleton the Highlander way

Singleton Implementierungen gibt es verschiedenste, aber möchte man wirklich nur eine Instanz eines Objektes sollte man es nach der Highlander Methode machen.
Egal ob man noch auf dem Memory Modell von java < 1.5 oder eben nach dem Fix von 1.5 arbeitet, diese Methode sollte immer funktionieren. Und wer hats erfunden? Bill Pugh in seiner arbeit an dem Java Memory Model.

Dienstag, 24. September 2013

Lession learned (JSF): Exception Handler

If an Exception is thrown during the execution of a Phase, the PhaseListener after phase event is called before the Exception is handled from the Exception Handler.

Dienstag, 10. September 2013

Primefaces multifile upload in IE10

Primefaces multifile upload works in IE10.
But not out of the Box in the Community Edition. There ist a fix in the primefaces version 3.5.9.

See Group Entry

But get it work with the Community Edition is far easy.

Use the fileUpload component like you would do it in IE9.
And add the CSS styles described below.

Sonntag, 8. September 2013

JSF Bootstrap Message and Messages Renderer

Add the JSF Bootstrap Render to your Page to view the JSF Messages in Bootstrap Style.
Here you can find the Code Snippets.

Sonntag, 28. April 2013

Fit to Parent in JavaFx

Versucht man mit JavaFx und SceneBuilder UIs zu zeichnen und die einzelnen Fragmente per Code zusammen zuführen, funktioniert das mit den Anchor nicht outofthebox. Die Anchor Attribute müssen beim einzufügenden Fragment händisch ergänzt werden.