代码之家  ›  专栏  ›  技术社区  ›  NoozNooz42

Java:jsp中的属性顺序得到反转

  •  2
  • NoozNooz42  · 技术社区  · 14 年前

    每次我读到 标记,按此顺序用于描述的属性:

    <meta name="description" content="..." />
    

    弗斯特 名称 然后 内容 . 在谷歌网站管理员文档中也是这样。基本上,到处都是这样。

    现在在 JSP (以XML表示法)我得到了以下信息:

    <meta name="description" content="${metadesc}"/>
    

    所以先是名字,然后是内容。

    然而在生成的网页上,我得到了:

    <meta content="...(200 chars or so here making it a very long line)..." name="description"/>
    

    不知怎的,这些属性被颠倒了。因为内容遵循W3C和Google的官方建议,所以内容的长度略小于200个字符,这使得“视觉验证”name属性是否正确(我必须滚动)成为一个主要的难题。

    总之…

    为什么这些属性不按 JSP ?

    我能强迫他们按照我写的顺序出现吗? JSP ?

    我知道结果标签可能是有效的…但是我也可以想象很多非常有创意的方法来获得有效的标签,用户会非常不高兴。这对反转这些属性有什么意义吗?

    编辑 哇,只是哇…如果我颠倒.jsp中的属性(也就是说,以“错误”的顺序写入它们),那么它们会按照我希望它们出现在生成的网页中的方式出现。(Tomcat 6.0.26 BTW)

    2 回复  |  直到 14 年前
        1
  •  1
  •   Edwin Buck    14 年前

    属性顺序是XML中的一个外来概念。或者某个东西有一个属性,或者没有,在XML中没有任何东西声明一个属性应该(或者必须)先于另一个属性。

    这样想,你有一个名字,你有一个头发颜色。两者都是你的属性,但是在什么情况下,你必须在你有名字之前(或者在你有名字之后)有一个头发颜色。

    元素在某种程度上允许排序,因为可以指定DTD和XSD中嵌套项的顺序。

        2
  •  1
  •   BalusC    14 年前

    不幸的是,这就是XML的本质。我从来没有使用过JSPX,但我可以想象它只是被一些XML工具解析,存储在内存中的某个树结构中,然后呈现为HTML。属性可能存储在无序的数据结构中。我认为你对此没有任何控制权。我个人不会那么担心。JSPX并不是唯一的一种,许多其他基于XML的视图/模板技术的行为也可能相同。唯一会担心生成的HTML输出的是纯粹的Web开发人员,我不认为这是所讨论的网站的主要受众,是吗?;)

    对于网络浏览器、Webbot、SEO等来说,这完全无关紧要。