Pytanie w sprawie conditional-comments, jsf-2, jsf – Komentarze warunkowe JSF 2.1 i IE

5

Zauważyłem, że w JSF 2.1. * Moje komentarze warunkowe IE już nie działają. Różne znaki są zastępowane przez elementy HTML i unieważniają składnię komentarza. BalusC wskazałrozwiązanie problemu w innym pytaniu który używa h: outputText. Moim problemem jest to, że chcę moje komentarze warunkowe na górze mojej strony, wokół pierwszego elementu. Oznacza to, że nie mogę użyć h: outputText, ponieważ jeszcze nie zdefiniowałem jego przestrzeni nazw. W każdym razie uważam, że to prawda. Oto przykład kodu.

Obecnie większość stron JSF zaczyna się od szablonu podobnego do składni HTML5 Boilerplate:

<!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" />
  ...

Ze wspomnianym rozwiązaniem BalusC chciałbym<h:outputText /> w linii 2, ale przestrzeń nazw h nie została jeszcze zdefiniowana. Czy jest to element, którego mogę użyć, aby dołączyć różne przestrzenie nazw, ale nie wpłynie na mój ostateczny kod HTML? Jakieś inne pomysły, jak mogę obejść ten problem?

Zawietrzny,

Twoja odpowiedź

1   odpowiedź
8

Zawiń to wszystko w<f:view> i zdefiniuj tam przestrzenie nazw.

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

Cały widok JSF jest już niejawnie zawinięty w<f:view>.

Mowgli, nadal potrzebujesz tagu <h: outputText />. Rozwiązanie to zapewnia przestrzeń nazw niezbędną do rozpoznania tagu. Kurt Koller
Czy nadal musisz używać<h:outputText /> z tym rozwiązaniem? Albo robi<f:view /> Wymień? Kevin
Nie ma za co. BalusC
Dzięki BalusC :) Zastanawiałem się nad f: view, ale postanowiłem opublikować tutaj zamiast próbować sam! Lee Theobald

Powiązane pytania