2010-12-07 2 views
6

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

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

+0

Я знаю, что теги Struts 1.3.x могут отображать xhtml, но что касается Strict ?, я просто объявляю его определение на каждой странице (чтобы быть в безопасности). – 2010-12-07 15:41:45

+1

Ну, что-то отличное от JSF и GWT (и подобных) вообще не создает никакого HTML-кода из его основных компонентов. Для JSP есть taglib, которые могут или не могут создавать строгий html, но это будет зависеть от конкретных taglib. – Bozho 2010-12-07 15:42:08

+2

что в стороне - требование строгого не является чем-то довольно разумным. Что, если следующее, что они захотят, это заставить его работать на IE6 :) – Bozho 2010-12-07 15:43:21

ответ

1

Документация для 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

5

я продлить мой комментарий здесь немного. JSF не является обычной веб-картой. Это основанная на компонентах веб-инфраструктура. Это GWT, Vaadin, Echo и подобные. С ними нельзя легко обойтись, если они не производят XHTML. (ну, вы можете изменить компонент/рендеринг в JSF, если хотите)

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

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

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

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

Смежные вопросы