Существует ли веб-инфраструктура Java, которая может надежно создавать XHTML 1.0 Strict? - PullRequest
6 голосов
/ 07 декабря 2010

Я начинаю проект Java, где клиент обязал использовать XHTML 1.0 Strict. JSF Facelets, основанные на XHTML, поначалу казались хорошим вариантом, но я обнаружил, что они не могут быть созданы для создания XHTML Strict, и это считается проблемой с очень низким приоритетом сообществом.

Существуют ли другие платформы Java, поддерживающие рендеринг как XHTML Strict? Как насчет библиотек тегов JSTL?

Ответы [ 2 ]

5 голосов
/ 07 декабря 2010

Я немного расширю свой комментарий здесь. JSF - это не обычный веб-фреймворк. Это компонентная веб-платформа. Так же как и GWT, Ваадин, Эхо и тому подобное. С ними нельзя легко обойтись, если они не производят строгий XHTML. (ну, если хотите, вы можете изменить Component / Renderer в JSF)

С другой стороны, фреймворки, такие как Spring-MVC, Struts, Grails и т. Д., Являются веб-фреймворками на основе действий. Они не имеют компонентов в качестве внутренних частей. Да, они предоставляют удобные библиотеки тегов, но вы можете обойтись без них, если они не могут создать строгий xhtml. Например, вы можете использовать <form:input>, но вы также можете использовать <input type="text" /> и просто установить правильные name и value.

Большинство основанных на действии сред используют JSTL для управления потоком данных в представлении (JSP). Так что никаких скриплетов. Но сам JSTL не создает никакой разметки. Таким образом, вы можете использовать JSTL + свою рукописную разметку для создания строгого XHTML.

Библиотеки тегов, которые будут использоваться, - это отдельная история. Например, если вам нужен календарь, вы можете использовать taglib, и он может не отображать правильный xhtml. Но вы также можете использовать календарь jQuery - для среды, основанной на действии, разница не будет огромной.

Тем не менее, у меня есть опыт работы с Spring-MVC и Grails, и вы можете использовать их - они позволяют детально контролировать сгенерированную разметку.

1 голос
/ 07 декабря 2010

В документации по Spring Web MVC 2.0.x указано, что связанные библиотеки тегов создают допустимую разметку HTML4.0.1 / XHTML1.0. Это может быть хорошей отправной точкой, так как я ожидаю, что 2.5 и, возможно, даже 3.0 также поддержат это.

http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

...