я продлить мой комментарий здесь немного. 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, и вы можете использовать их - они позволяют мелкозернистый контроль над сгенерированной разметкой.
Я знаю, что теги Struts 1.3.x могут отображать xhtml, но что касается Strict ?, я просто объявляю его определение на каждой странице (чтобы быть в безопасности). – 2010-12-07 15:41:45
Ну, что-то отличное от JSF и GWT (и подобных) вообще не создает никакого HTML-кода из его основных компонентов. Для JSP есть taglib, которые могут или не могут создавать строгий html, но это будет зависеть от конкретных taglib. – Bozho 2010-12-07 15:42:08
что в стороне - требование строгого не является чем-то довольно разумным. Что, если следующее, что они захотят, это заставить его работать на IE6 :) – Bozho 2010-12-07 15:43:21