Jspx文件和条件注释

时间:2012-01-23 10:00:15

标签: java spring html5 jspx

我想使用Spring和.jspx网页创建一个Web应用程序。

我的问题是如何在jspx中为IE添加条件注释?它们似乎没有被解释。

<!--[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]-->

此外,我希望我的网页成为HTML5兼容品。

我尝试了一些方法,但我在IE9中遇到了不兼容的问题(似乎无法识别标题和部分)。

编辑:

这是我的头标记

<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]-->

但是,如果我查看IE9下的源代码,我看不到html5shiv和我的辅助css的链接。

4 个答案:

答案 0 :(得分:7)

根据JSP 2.0规范的1.5.2节,jsp文档中的注释被忽略:

  

JSP文档中的注释使用XML语法,如下所示:

     

<!-- comments ... ->

     

完全忽略内容的正文。 JSP文档中的注释   可用于文档目的和“注释”部分   JSP页面。

第6.2.2节显示了使用jsp:text和CDATA部分的示例,这些部分可以适应您的用例,请尝试以下代码:

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

答案 1 :(得分:3)

经过大量的尝试,我发现使用ASCII代码的注释符号在.jspx页面上运行得非常好。试试这段代码:

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

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

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

答案 2 :(得分:0)

对于使用htmlshiv导入的HTML 5兼容性是正确的。确保head标签内有条件导入。这与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>

答案 3 :(得分:0)

好吧,如果你查看生成的HTML,你会发现,jstl将在条件注释中转义出来,所以它不起作用:

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

所以Abhi,你需要告诉jstl单独留下条件部分,告诉它不要解析它。 Jstl不会忽略它,只是因为你把它放在了。