Software Engineering

Nicht unterstütze HTML Tags in Oracle ADF einbinden

Der Funktionsumfang von neuen Browsern wächst unaufhörlich. Doch nicht jedes Projekt kann auf die neuste Oracle ADF-Version umgestellt werden. Wenn man trotzdem Funktionalitäten verwenden möchte, die bereits im Browser unterstützt werden, aber nicht als Attribut bereit stehen, kann man sich mit anderen Mitteln behelfen.

In diesem Beispiel demonstriere ich das Ganze anhand der Rechtschreibprüfung. Dies kann auch für beliebige andere Attribute verwendet werden. Dies sollte aber nicht benutzt werden, um von ADF Faces bereit gestellte Attribute zu überschreiben.

Rechtschreibprüfung aktivieren

Seit der Version 11 des Internet Explorer ist eine Rechtschreibprüfung integriert. Um diese in einer Anwendung zu aktivieren, wird eine zusätzliche Einstellung benötigt, welche ab der Version 12c von Oracle bereitgestellt wird. Um bei einem Eingabefeld die Rechtschreibprüfung zu aktivieren, muss das Attribut spellcheck auf true gesetzt werden. Neben den Boolean typischen Werten, gibt es noch den Zustand default. Wird dieser Wert gewählt, entscheiden die lokalen Browsereinstellungen, ob eine Rechtschreibprüfung durchgeführt wird. Da mit 11g dieses Attribut nicht an Eingabefeldern zur Verfügung steht, behelfen wir uns dadurch, dass wir das HTML Objekt nachträglich mit JavaScript clientseitig manipulieren.

Folgendes Snippet muss am Eingabefeld, welches die Rechtschreibprüfung erhalten soll, angefügt werden:

<af:clientListener method=“(function(event){event.getSource().getPeer().getDomElement().setAttribute(’spellcheck‘,’true‘);})“ type=“focus“ />

Das Verhalten lässt sich wie folgt beschreiben: Erhält das Element den Fokus, so wird ein Event ausgelöst, welches dafür sorgt, dass das Attribute des Spellchecks auf „true“ gesetzt wird. Mit diesem Verhalten ist gewährleistet, dass die Rechtschreibprüfung des Internet Explorer für diese Komponente aktiviert wird.

Der Code ist universell einsetzbar, da das abgesetzte Event bereits das DOM-Objekt kennt und somit eine aufwändige Navigation entfällt.

 Links

http://dkleppinger.blogspot.de/2013/02/spell-checking-input-fields.html