Подтвердить что ты не робот

Должен ли я делать JSPX вместо JSP?

Используя JDeveloper, я начал разработку набора веб-страниц для проекта на работе. Поскольку я не знал много о JDev в то время, я перешел к Oracle, чтобы следить за некоторыми учебниками. Учебники JDev рекомендовали JSPX вместо JSP, но на самом деле не объяснил почему. Вы разрабатываете страницы JSPX? Почему вы решили это сделать? Каковы преимущества/недостатки перехода на JSPX-маршрут?

4b9b3361

Ответ 1

Основное отличие состоит в том, что с JSPX файлом (официально называемым "JSP-документом" ) легче работать, потому что требование для хорошо сформированного XML может позволить вашему редактору идентифицировать больше ошибок опечатки и синтаксиса по мере ввода.

Однако есть и недостатки. Например, хорошо сформированный XML должен избегать таких вещей, как знаки меньше, поэтому ваш файл может содержать содержимое, например:

<script type="text/javascript">
   if (number &lt; 0) {

Синтаксис XML также может быть более подробным.

Ответ 2

У JSPX есть несколько неудобств, на вершине моей головы:

  • Трудно сгенерировать некоторые виды динамического контента; особенно генерирование HTML-тега с необязательными атрибутами (то есть или в зависимости от состояния). Стандартные теги JSP, которые должны решить эту проблему, не работали должным образом в тот день, когда я начал делать JSPX.
  • Больше нет и nbsp;:-p
  • Вы действительно хотите разместить весь свой Javascript в отдельных файлах (или использовать разделы CDATA и т.д.). ИМХО, вы все равно должны использовать jQuery, поэтому вам не нужно иметь атрибуты onclick и т.д.
  • Инструменты могут работать неправильно; возможно, ваша среда разработки не поддерживает ничего выше простого JSP.
  • В Tomcat 6.x, по крайней мере, версии /config, которые я пытался, сгенерированный вывод не имеет никакого форматирования; просто небольшое раздражение, хотя

С другой стороны:

  • Это заставляет вас писать правильный XML, с которым можно легко манипулировать, чем JSP
  • Инструменты могут выполнять мгновенную проверку, ловить ошибки раньше
  • Упрощенный синтаксис, по моему скромному мнению

Ответ 3

Совершенно другая линия рассуждений, почему вы должны использовать jspx вместо jsp:

JSPX и EL делают включение javascript и встроенных java-кодов намного сложнее и гораздо менее естественным, чем jsp. EL - это язык, специально предназначенный для логики представления.

Все это подталкивает вас к более четкому разделению визуализации пользовательского интерфейса и другой логике. Недостатком множества встроенного кода на странице JSP (X) является то, что его практически невозможно легко протестировать, тогда как практика такого разделения проблем делает большую часть вашей логики полностью Блок-проверяемый.

Ответ 4

Привет, разработчик JDeveloper!

Я работаю с страницами JSPX уже более двух лет, и у меня никогда не было проблем с JSPX, против JSP. Выбор для меня, чтобы пойти с JSPX был явно принудительным, так как я использую JHeadstart для автоматического создания страниц ADF Faces, и по умолчанию JHeadstart генерирует все в JSPX.

JSPX указывает, что документ должен быть хорошо сформированным XML-документом. Это позволяет материалу правильно и эффективно анализировать его. Я слышал, что разработчики говорят, что это помогает вашим страницам быть более "будущим доказательством", противоположным JSP.

Ответ 5

Как указано в официальной документации Spring 3.1

"Spring предоставляет несколько готовых решений для JSP и JSTL мнения".

Также вам нужно подумать о том, что JSPX стремится производить чистый XML-совместимый вывод. Поэтому, если ваша цель - HTML5 (который может быть совместим с XML, но увеличивать сложность, см. Мои комментарии), вы получаете некоторую боль, чтобы достичь своей цели, если вы используете Eclipse IDE... Если ваша цель - создать XHTML, то перейдите к JSPX и JDeveloper будет поддерживать вас...

В одном из наших проектов мы сделали POC как с JSP, так и с JSPX, и сделали PROS и CONS, и моя личная рекомендация заключалась в использовании JSP, потому что мы обнаружили, что он гораздо менее ограничительный и естественный для создания HTML5 не-XML-способом, который также менее ограничительный и более компактный синтаксис. Мы предпочитаем выбирать что-то менее ограничительное и добавлять рекомендации "лучших практик", такие как "не помещать java скрипты" внутри jsp файлов. (BTW JSPX также позволяет размещать скрипты с помощью jsp: scriplet вместо <%...% > )

Ответ 6

@Matthew-
ADF! Приложение, в котором я сейчас работаю, имеет 90% уровня представления, созданного модулем PL/SQL. Я начал работать на нескольких новых экранах и хотел исследовать другие варианты, которые могли бы вписаться в нашу архитектуру, без значительного бремени обучения (увеличения сложности системы/срыва интеллектуальных моделей разработчиков системы) на других разработчиков на команда. Таким образом, ADF - это то, как я столкнулся с JSPX.

Я видел также "будущее доказательство" наблюдения... но не знал, насколько хорошо это было.

Ответ 7

JSPX также является рекомендуемой технологией просмотра в Spring MVC/Spring веб-потоке.

Ответ 8

Кроме того, еще одна проблема, которую я нашел с JSPX, - это когда вы хотите использовать скрипты. Я согласен с тем, что чистый код, как правило, хорош, и Java-логика в JSP обычно плохой, но есть определенные случаи, когда вы хотите использовать функцию утилиты для возврата строкового значения или что-то, где TagLib или модель (атрибуты запроса) будут излишними.

Каковы все мысли о сценариях в JSP?