Должен ли я использовать JSPX вместо JSP?[закрыто]
Вопрос
С использованием JРазработчик, я начал разрабатывать набор веб-страниц для проекта на работе.Поскольку в то время я мало что знал о JDev, я отправился в Oracle, чтобы изучить несколько руководств.В учебниках JDev рекомендуется делать JSPX вместо ДСП, но не объяснил почему.Вы разрабатываете страницы JSPX?Почему вы решили это сделать?Каковы плюсы и минусы пути JSPX?
Решение
Основное отличие состоит в том, что с файлом JSPX (официально называемым «документом JSP») может быть проще работать, поскольку требование правильного формата XML может позволить вашему редактору выявлять больше опечаток и синтаксических ошибок по мере ввода.
Однако есть и недостатки.Например, правильно сформированный XML должен избегать таких элементов, как знаки «меньше», чтобы в конечном итоге ваш файл мог содержать следующее содержимое:
<script type="text/javascript">
if (number < 0) {
Синтаксис XML также может быть более подробным.
Другие советы
У JSPX есть несколько неудобств, которые я сразу понял:
- Трудно создавать некоторые виды динамического контента;особенносоздание HTML-тега с дополнительными атрибутами (т. е.или в зависимости от состояния).Стандартные теги JSP, которые должны решить эту проблему, не работали должным образом в тот день, когда я начал заниматься JSPX.
- Больше нет:-п
- Вам действительно захочется поместить весь ваш Javascript в отдельные файлы (или использовать разделы CDATA и т. д.).ИМХО, вам в любом случае следует использовать jQuery, поэтому вам действительно не нужен onclick и т. д.атрибуты...
- Инструменты могут работать неправильно;возможно, ваша IDE не поддерживает ничего, кроме обычного JSP.
- В Tomcat 6.x, по крайней мере в тех версиях/конфигурациях, которые я пробовал, сгенерированный вывод не имеет никакого форматирования;просто небольшое раздражение, хотя
С другой стороны:
- Это заставляет вас писать правильный XML, которым легче манипулировать, чем JSP.
- Инструменты могут выполнять мгновенную проверку, быстрее выявляя ошибки.
- Более простой синтаксис, по моему скромному мнению
Совершенно другая линия рассуждений, почему вам следует использовать jspx вместо jsp:
JSPX и EL делают включение javascript и встроенных Java-кодов намного сложнее и менее естественным, чем jsp.EL — это язык, специально предназначенный для логики представления.
Все это подталкивает вас к более четкому разделению рендеринга пользовательского интерфейса и другой логики.Недостаток большого встроенного кода на странице JSP (x) состоит в том, что практически невозможно легко проверить, тогда как практика этого разделения проблем делает большую часть вашей логики полностью проверять.
Привет, уважаемый разработчик JDeveloper!
Я работаю со страницами JSPX более двух лет, и у меня никогда не возникало проблем с тем, что JSPX противопоставляется JSP.Выбор JSPX для меня был своего рода вынужденным, поскольку я использую JHeadstart для автоматического создания страниц ADF Faces, а по умолчанию JHeadstart генерирует все в JSPX.
JSPX указывает, что документ должен быть правильно сформированным XML-документом.Это позволяет материалу правильно и эффективно анализировать его.Я слышал, как разработчики говорили, что это помогает вашим страницам быть более «готовыми к будущему» по сравнению с JSP.
Как указано в официальной документации Spring 3.1.
«Spring предоставляет несколько необычных решений для просмотров JSP и JSTL».
Также вам следует учитывать тот факт, что JSPX нацелен на создание чистого вывода, совместимого с XML.Итак, если ваша цель — HTML5 (который может быть совместим с XML, но усложняет ситуацию, см. мои следующие комментарии), вам придется столкнуться с некоторыми трудностями при достижении своей цели, если вы используете Eclipse IDE...Если ваша цель — создать XHTML, выберите JSPX, и JDeveloper вас поддержит…
В одном из наших cie-проектов мы создали POC как с JSP, так и с JSPX, а также сделали ЗА и ПРОТИВ, и моя личная рекомендация заключалась в использовании JSP, потому что мы обнаружили, что гораздо менее ограничительно и естественно создавать HTML5 не XML, что также является менее ограничительным. и более компактный синтаксис.Мы предпочитаем выбрать что-то менее ограничительное и добавить рекомендации «лучших практик», такие как «не размещать Java-скриптлеты» внутри файлов jsp.(Кстати, JSPX также позволяет вам помещать скриптлеты с помощью jsp:scriptlet вместо <% ...%>)
@Мэтью-
АДФ!Приложение, над которым я сейчас работаю, имеет 90% уровня представления, созданного модом PL/SQL.Я начал работать над несколькими новыми экранами и хотел изучить другие варианты, которые могли бы вписаться в нашу архитектуру, не создавая при этом слишком большого бремени обучения (повышение сложности системы/разрушение мысленных моделей системы разработчика) для коллег-разработчиков по команде. команда.Итак, с помощью ADF я тоже столкнулся с JSPX.
Я также видел наблюдение, ориентированное на будущее… но не знал, насколько оно обосновано.
JSPX также является рекомендуемой технологией представления в Spring MVC/Spring Web Flow.
Кроме того, еще одна проблема, которую я обнаружил в JSPX, заключается в том, что вы хотите использовать скриптлеты.Я согласен, что чистый код, как правило, хорош, а логика Java в JSP, как правило, плоха, но есть определенные случаи, когда вы хотите использовать служебную функцию для возврата строкового значения или что-то еще, где TagLib или модель (атрибуты запроса) будут излишними. .
Что вы думаете о скриптлетах в JSP?