Frage an jsf-2, conditional-comments, jsf – Bedingte Kommentare zu JSF 2.1 und IE

5

Ich habe festgestellt, dass in JSF 2.1. * Meine IE-bedingten Kommentare nicht mehr funktionieren. Verschiedene Zeichen werden durch HTML-Entities ersetzt und die Kommentarsyntax ungültig gemacht. BalusC hat darauf hingewieseneine Lösung für das Problem in einer anderen Frage welches h: outputText verwendet. Mein Problem ist, dass ich meine bedingten Kommentare oben auf meiner Seite um das erste Element herum haben möchte. Dies bedeutet, dass ich h: outputText nicht verwenden kann, da ich seinen Namespace noch nicht definiert habe. Ich glaube das stimmt sowieso. Hier ist ein Codebeispiel.

Die meisten von JSF-Seiten werden heutzutage mit einer Vorlage beginnen, die der HTML5-Boilerplate-Syntax ähnelt:

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7 my-application" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8 my-application" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9 my-application" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js my-application" xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" lang="en"><!--<![endif]-->
<h:head>
  <meta charset="utf-8" />
  ...

Mit BalusCs erwähnter Lösung würde ich wollen<h:outputText /> in Zeile 2, aber der h-Namespace ist noch nicht definiert. Ist das ein Element, mit dem ich die verschiedenen Namespaces anhängen kann, das sich aber nicht auf mein endgültiges HTML auswirkt? Irgendwelche anderen Ideen, wie ich dieses Problem umgehen kann?

Lee,

Deine Antwort

1   die antwort
8

Wickeln Sie alles in a<f:view> und dort die Namespaces definieren.

<!DOCTYPE html>
<f:view xmlns="http://www.w3.org/1999/xhtml" ...>
    ...
</f:view>

Ansonsten ist die gesamte JSF-Ansicht implizit in a eingeschlossen<f:view>.

Bitte. BalusC
Danke BalusC :) Ich habe mich über f: view gewundert, aber ich habe mich entschieden, hier zu posten, anstatt es selbst zu versuchen! Lee Theobald
Mowgli, du brauchst immer noch das <h: outputText /> -Tag. Diese Lösung stellt den Namespace bereit, der zum Erkennen des Tags erforderlich ist. Kurt Koller
Müssen Sie noch verwenden<h:outputText /> mit dieser lösung? Oder macht das<f:view /> ersetze es? Kevin

Verwandte Fragen