2012-01-23 17 views
5

Chciałbym utworzyć aplikację internetową za pomocą stron internetowych Spring i .jspx.Pliki JSPx i komentarze warunkowe

Moje pytanie brzmi: jak mogę umieścić komentarze warunkowe dla IE w jspx? Wydaje się, że nie są interpretowane.

<!--[if lt IE 9]> 
    <link rel="stylesheet" type="text/css" href="css/style.css" /> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

Chciałbym również, aby moje strony były zgodne z HTML5.

Próbowałem niektórych metod, ale mam problemy niekompatybilne w IE9 (wydaje się nie rozpoznaje nagłówka i sekcji).

Edit:

Oto moja głowa tag

<meta content="text/html" charset="UTF-8" http-equiv="content-type" /> 
<link rel="stylesheet" type="text/css" href="css/style.css" /> 
<!--[if lte IE 9]> 
<link rel="stylesheet" type="text/css" href="css/style_IE8.css" /> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

Ale jeśli patrzę na źródła pod IE9 nie widzę linki do html5shiv i mój wtórnego css.

Odpowiedz

7

Zgodnie ze specyfikacją JSP 2.0, pkt 1.5.2, komentarze w dokumentach JSP są ignorowane:

Komentarze w dokumentach JSP użyć składni XML, w następujący sposób:

<!-- comments ... ->

Treść treści jest całkowicie ignorowana. Komentarze w dokumentach JSP mogą być używane do celów dokumentacyjnych i do "komentowania" części strony JSP .

Sekcja 6.2.2 pokazuje przykład używając jsp:text i CDATA sekcje, które mogą być dostosowane do usecase, spróbuj jeśli poniższy kod działa:

<jsp:text><![CDATA[<!--[if lte IE 9]>]]></jsp:text> 
... 
<jsp:text><![CDATA[<![endif]-->]]></jsp:text> 
+1

Nice !!! To działa. Dzięki. – Tony

+0

O BOGU, XML, dlaczego ??? Czy możesz umieścić bloki CDATA wewnątrz jP: CDATA tekstu bez błędu? –

0

Dla zgodności z HTML 5 użycie importów htmlshiv jest poprawne. Upewnij się, że masz import warunkowy w tagach head. To nie ma nic wspólnego z jstl.

<head> 
    //Other imports 
    <!--[if lt IE 9]> 
     <link rel="stylesheet" type="text/css" href="css/style.css" /> 
     <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
    <![endif]--> 
    </head> 
+1

Zobacz moją edycję. To nie działa. – Tony

3

Po ogromnej ilości prób, znalazłem że używanie kodów ASCII dla symboli komentarzy działało bardzo ładnie na stronach .jspx. Spróbuj ten kawałek kodu:

&lt;&#33;&#45;&#45;[if IE]> 

    <link rel="stylesheet" type="text/css" href="css/screenIE.css" /> 

&lt;&#33;[endif]--> 
+0

Działa to świetnie. Dziękuję za Twoją wskazówkę! – boomboomboom

0

Cóż, jeśli zobaczyć wygenerowany kod HTML, zdasz sobie sprawę, że JSTL ujdzie rzeczy w komentarzu warunkowym, więc to nie będzie działać:

<!--[if IE 9]&gt;&lt;div id=&quot;ie-9&quot;&gt;&lt;![endif]--> 

A więc Abhi, musisz powiedzieć jstl, aby sam opuścił część warunkową, powiedz, żeby jej nie analizowała. Jstl nie zignoruje tego, tylko dlatego, że umieściłeś go w.