От скриплетов до джавабеанцев
У меня есть следующий скриптлет в моем JSP:
<% for (int i=0; i<emailSettings.qualified_apn.length; i++) { %>
var g ='<%= emailSettings.qualified_apn[i] %>'
//some code
<% } %>
Я переместил переменную emailSettings
в боб... так что теперь, как я могу изменить цикл?
1 ответ
Вы должны использовать JSTL для просмотра списка вместо использования скриптлетов, что считается очень плохой практикой... Вся логика бизнеса должна быть заключена в классы, а JSP должен содержать только логику представления...
Вы должны переместить все свои //some code
в классы Java, и как только вы соберете в классы все значения, которые вы хотите отобразить на своей странице, вы можете использовать JSTL следующим образом:
<c:forEach var="item" items="${emailSettings.qualified_apn}">
<p>Item foo: ${item.foo}</p>
<p>Item bar: ${item.bar}</p>
...
</c:forEach>
Помните, что вы должны импортировать базовую библиотеку JSTL в JSP с помощью:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Также обратите внимание, что, как прокомментировал @JBNizet, вам понадобится геттер для qualified_apn
поле в вашем EmailSettings
класс (вы никогда не должны использовать открытые поля!). Также подумайте о соблюдении соглашений об именах Java: никаких подчеркиваний в переменных и методах (т. Е. qualifiedApn
).
Я предлагаю вам начать чтение официальной документации Oracle по JSTL. Кроме того, вы можете найти множество учебных пособий по JSTL в Интернете, просто погуглив "Учебник по JSTL", например, на tutorialspoint.com.