JSP - Что не так с сценариями, и что использовать вместо этого
Я читал о JSP в книге много лет назад, и недавно решил учиться сам. Теперь я знаю, как использовать сценарии, выражения и декларации JSP
<%! String str = "Hello World" %>
<%= str.length() %>
<% str=str.substring(0,5) %>
Но я читал во многих местах (на этом сайте и в других местах), что я не должен использовать скрипты. Это один из таких вопросов: Eclipse с использованием классов в JSP
Мои вопросы:
- Что не так в сценариях?
- Что я использую вместо этого?
Заранее благодарим за помощь!
EDIT:
Я не использую сервлеты, но вставляю свой код JSP на HTML-страницу. Дизайнеры пользовательского интерфейса, не знающие Java, могут легко изменить мою страницу.
В основном я использую JSP в качестве внешнего интерфейса для отображения из базы данных и обновления для него, например, когда пользователь делает заказ.
Ответы
Ответ 1
Это мое личное мнение, конечно. Я говорю, что скрипты:
- Технология старинных 1998 года, которая должна исчезнуть; неудачный ответ на Microsoft ASP.
- Гадкий
- Трудно читать
- Трудно поддерживать
- Откажитесь от повторного использования и инкапсуляции
- Поощрять использование сложной логики на страницах
Что использовать вместо этого?
- Мир пошел в направлении HTML5, CSS3, JavaScript, jQuery, Bootstrap и веб-технологий, которые говорят с веб-службами REST. Это хорошее направление.
- Если вы должны придерживаться JSP, начните с стандартной библиотеки шаблонов JSP. Сохраняйте HTML-страницы похожими на HTML - это упростит для разработчиков пользовательского интерфейса, чтобы их поддерживать.
- Попробуйте более современное решение для шаблонов, такое как Thymeleaf, чтобы сгенерировать ваш HTML со стороны сервера.
Ответ 2
Здесь я беру на себя это.
- Хотя довольно просто использовать Java-код с ним, Scriplets трудно читать, и это заставляет код выглядеть немного загроможденным imo.
- Как и duffymo, и большинство людей порекомендовали бы, использование JSTL - намного лучшая альтернатива Scriplets, когда дело доходит до JSP.
Было время, когда я просто использовал бы Scriplets, чтобы использовать Java-код в JSP, но изучение JSTL было очень удобно. Это упрощает чтение кода, поскольку он хорошо сочетается с тегами HTML.
Ответ 3
Это не чистый дизайн, чтобы смешивать код с логикой вида.
Вот почему JSP не является идеальным решением.
Вместо этого вы должны использовать шаблоны, такие как Velocity/Freemarker, которые не позволяют полностью смешивать Java-код.
Дополнительным преимуществом этого является то, что разработчики-разработчики без Java-интерфейса могут вносить вклад в пользовательский интерфейс, не изучая Java.