This blog has moved to
http://blog.matthias-reining.com

Die bestehenden Artikel bleiben vorerst alle bei blogspot. Neue Artikel veröffentliche ich allerdings nur noch auf http://blog.matthias-reining.com

Samstag, 9. Januar 2010

JSF2.0 AJAX Support - jsf.js wird nicht geladen

Bei meinem kleinem JSF Projekt (http://kenai.com/projects/agrar-land) hatte ich Probleme beim Einsatz von AJAX innerhalb meiner Facelets:


<h:commandButton action="#{schlagView.addWorking}" value="add3">
    <f:ajax render="@form" execute="@form" />
</h:commandButton>

Eigentlich sollte beim Tag f:ajax alles automatisch passieren, sprich die benötigte JavaScript Library jsf.js sollte automatisch eingefügt werden.
Leider hat das ganze auf den ersten Blick nicht wirklich funktioniert :-( Die Page hat einen ganz normalen submit gemacht - kein AJAX...
Bei genauerem Hinschauen wurde allerdings folgende Meldung auf der HTML Page ausgegeben:
Eine oder mehrere Ressourcen haben das Ziel 'head', aber es wurde keine Komponente 'head' in der Ansicht definiert.

Der Grund hierfür war einfach, dass ich in meinem JSF Files nicht sauber gearbeitet habe.
Ich habe für den HTML Header einfach normale HTML Tags verwendet - böses Faul wie sich heraus gestellt hat!!
Damit AJAX funktioniert und somit das File jsf.js (früher ajax.js) automatisch eingebunden wird, muss mit dem JSF Tag h:head gearbeitet werden.
Dann funktioniert auch alles :-)

Kommentare:

  1. Hi, hat mir sehr geholfen.
    Danke !

    AntwortenLöschen
  2. Danke! Hat viel Zeit gespart!

    AntwortenLöschen
  3. Dieser Kommentar wurde vom Autor entfernt.

    AntwortenLöschen
  4. was man noch anmerken kann:

    Bei mir kam die warning obwohl ich ein h:head hatte jedoch hatte ich an einer anderen Stelle eine "normales" head noch rumfliegen. Anscheinend hat das das andere "ausgeblendet" ?

    AntwortenLöschen
  5. Besten Dank!

    Hat mir eine lange Zeit der "Sucherei" erspart!

    AntwortenLöschen