Anonymous
Not applicable

JSF - doppeltes "Escapen" von Umlauten

Hallo zusammen,

unsere JSF-Applikationen bekommen von FirstSpirit HTML-Seiten als "Unterbau" geliefert. Darin wird später an einer bestimmten Stelle der JSF-Content eingefügt.

Nun ist aufgefallen, dass Umlaute in der JSF-Seite nicht mehr angezeigt werden. Zwar lautet der HTML-Code der Umlaute korrekt z.B. "ü" oder "ß" (wird in den Eingabefeldern per convertEntities="standard" in HTML4 gewandelt). JSF verlangt jedoch, dass auch das "&" zu "&" escaped wird. Ein Umlaut muss z.B. "ü" lauten, um korrekt in JSF dargestellt zu werden.

Wie kann ich das am einfachsten bewerkstelligen? Die Alternative wäre statt "ü" bereits "ü" in die Eingabekomponenten zu schreiben, aber das ist eben von den Redakteueren nicht gewünscht.

Viele Grüße,

Nils Haffke

0 Kudos
5 Replies
feddersen
Community Manager

Die Konvertierung von "Sonderzeichen" wird über die Konvertierungsregeln gesteuert. Siehe Adminhandbuch, Kapitel 7.3.4. Dort können sie entweder die bestehende Konvertierungsregeln anpassen oder eine neue Konvertierungsregel anlegen.

0 Kudos
Anonymous
Not applicable

Danke für den Tipp!

In der Admindoku steht "Standard-Konvertierungsregeln sind beispielsweise "Unicode to HTML4" für den HTML-Ausgabekanal". Diesen Kanal verwenden wir für normale Contentseiten sowie die JSF-Rümpfe. So kann ich dort leider nicht die Konvertierungsregeln ändern, da uns dann die restlichen Seiten zerschossen werden.

Bleibt also nichts weiter übrig, als die JSF-Seiten über einen neuen Ausgabekanal "JSF" zu befüllen und dort eine angepasste "Unicode to HTML4"-Regel zu verwenden? Wo setze ich die Konvertierungsregel für einen neuen Ausgabekanal? Bisher kenne ich das lediglich aus Formatvorlagen (dort kann pro Vorlage explizit eine Regel ausgewählt werden).

Vielen Dank im Voraus!

0 Kudos

Der Dialog zum Anlegen eines neuen Ausgabekanals lässt sie auch eine Standardkonvertierungsregel auswählen. Eventuell können Sie einen weiteren Ausgabekanal vermeiden, wenn sie die Konvertierung & zu & nur im Zitat (Quote) Block der Unicode to HTML4 Konvertierungsregel vornehmen. Bei der Ausgabe der Eingabekomponente können Sie mittels $CMS_VALUE(st_component.convert2)$ explizit auch diesen Teil der Konvertierungsregel ausführen.

Vielleicht noch besser. Mittels $CMS_VALUE(st_component.convert("NAME DER KONVERTIERUNGSREGEL")$ können Sie auch eine bestimmte Konvertierungsregel anwenden. Die Methode ist für die Datentypen auch dokumentiert. Zum Beispiel für String.

Anonymous
Not applicable

Danke für die Antworten!

Ich habe leider erst in 10 Tagen die Möglichkeit die Sachen im Projekt zu testen.

Dann gibt's Feedback 🙂

0 Kudos