Java: порядок атрибутов в .jsp становится обратным - PullRequest
2 голосов
/ 01 июня 2010

Каждый раз, когда я читал о тегах 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 (мне нужно прокрутить).

В любом случае ...

Почему эти атрибуты не отображаются в порядке, определенном в .jsp ?

Могу ли я заставить их появляться в том же порядке, в каком я их написал в моем .jsp ?

Я понимаю, что полученный тэг может быть действительным ... Но я также могу представить множество очень креативных способов иметь действительные тэги, которые пользователи будут очень расстроены. Имеет ли смысл инвертировать эти атрибуты?

РЕДАКТИРОВАТЬ вау, просто вау ... Если я инвертирую атрибуты в моем .jsp (то есть записываю их в «неправильном» порядке), то они появляются так, как я хочу, чтобы они появлялись в сгенерированная веб-страница. (Tomcat 6.0.26 между прочим)

Ответы [ 2 ]

1 голос
/ 01 июня 2010

К сожалению, такова природа XML. Я никогда не использовал JSPX, но могу себе представить, что он просто анализируется каким-то инструментом XML, сохраняется в какой-то древовидной структуре в памяти и затем отображается в HTML. Атрибуты могут храниться в неупорядоченной структуре данных. Я не думаю, что вы будете иметь контроль над этим. Я лично не стал бы беспокоиться об этом так сильно. JSPX не единственный в этом, многие другие технологии представления / шаблонов на основе XML могут вести себя так же. Единственные, кто будет беспокоиться о сгенерированном выводе HTML, - это пуристические веб-разработчики, и я не думаю, что это основная аудитория рассматриваемого сайта, не так ли? ;)

Это абсолютно не имеет значения для веб-браузеров, веб-ботов, SEO и т. Д.

1 голос
/ 01 июня 2010

Порядок атрибутов является иностранным понятием в XML. Либо у чего-то есть атрибут, либо у него нет, в XML нет ничего, что указывало бы, что один атрибут должен (или должен) предшествовать другому.

Подумайте об этом так, у вас есть имя и цвет волос. Оба являются вашими атрибутами, но при каких условиях у вас должен быть цвет волос до того, как у вас есть имя (или после того, как у вас есть имя).

Элементы разрешают в некоторой степени упорядочивать, потому что вы можете указать порядок вложенных элементов в DTD и XSD.

...