Java:.jsp中的属性顺序反转

时间:2010-05-31 23:45:47

标签: java jsp meta-tags

我每次都读过 meta 标签,这个属性按顺序排列:

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

首先是名称,然后是内容。它也与Google网站管理员文档中的内容类似。基本上,就像在任何地方一样。

现在在 .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属性正确存在(我必须滚动)是一个主要的痛苦。 / p>

总之...

为什么这些属性没有按照 .jsp 中定义的顺序出现?

我可以强制它们按照我在 .jsp 中编写的顺序显示吗?

我意识到生成的标签可能是有效的...但我也可以想象很多非常有创意的方法来获得有效的标签,用户会非常沮丧。反义这些属性是否有意义?

编辑哇,哇...如果我将.jsp中的属性反转(也就是说,按照“错误”顺序编写),那么它们就会出现,因为我希望它们出现在生成的网页中。 (Tomcat 6.0.26顺便说一句)

2 个答案:

答案 0 :(得分:1)

属性顺序是XML中的外来概念。任何东西都有属性或者没有属性,XML中没有任何东西表明一个属性应该(或必须)出现在另一个属性之前。

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

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

答案 1 :(得分:1)

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

对于webbrowsers,webbots,SEO等无关紧要