Почему мы используем несколько тегов scriplet для цикла for вместо одного - PullRequest
0 голосов
/ 12 апреля 2019

Я изучаю JSP и Servlets и у меня есть вопрос к вам, ребята, потому что в нескольких видео я видел, что учитель использует скрипты, как показано ниже, я использовал пример array без objects просто для лучше покажи, что я имею в виду.

<%
Student[] students = new Student[]{students};
names.setAttribute("students", students)"
%>

Но иногда, когда он использует стандартный for вместо JSTL c:forEach, он пишет скриптлеты, как показано ниже.

<%
  for (String temp : students) { %>
  <tr>
  <td><%=temp.getFirstName()%></td>
  <td><%=temp.getLastname()%></td>
<% } %>

В чем разница между одним <% %> для for loop нужно ли нам использовать его, как указано выше, или нет?

1 Ответ

0 голосов
/ 12 апреля 2019

Любой из них может быть использован.Проблема only с методом c:forEach заключается в том, что вам может необходимо установить и включить библиотеку тегов JSTL.В зависимости от вашей среды и набора навыков это может быть немного болезненно.

В приведенном выше примере используется «чистая» Java с тегами JSP.Все, что между <% и %> - это обычный код Java.Это встроено в язык JSP.<%= является ярлыком для использования неявного объекта out, который встроен в JSP (список всех переменных см. В на этой странице ).Это также может быть записано как:

<%
  for (String temp : students) { %>
  <tr>
  <td><% out.print(temp.getFirstName()) %></td>
  <td><% out.print(temp.getLastname()) %></td>
<% } %>

Но теперь предупреждение.Это хорошо, чтобы узнать это, и, в зависимости от того, что вы зарабатываете на жизнь, вы вполне можете столкнуться с JSP-кодом.Я провел консультации для людей, которые даже сегодня имеют JSP-код повсюду.Но то, что @GyroGearless делает JSP, не считается лучшей практикой для новых проектов.В конечном итоге они смешивают бизнес-логику с логикой дисплея.В большом проекте с людьми из UI и людьми из Java это может затруднить разделение работы.Библиотеки тегов JSP были созданы как попытка минимизировать это, но на самом деле это был не лучший ответ.

Новые проекты сегодня отделяют логику отображения от логики бэкенда.Вы пишете интерфейс, используя библиотеку JavaScript недели (например, AngularJS, ReactJS, Ember и т. Д.), И свой бэкэнд, используя современные технологии, такие как JAX-RS, для создания AJAX-интерфейса с интерфейсом REST / JSON для бэкенда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...