Вы должны использовать java.util.Properties
вместо java.util.ResourceBundle
. ResourceBundle
служит совершенно иным целям, и его не следует злоупотреблять «простым способом» загрузки свойств, поскольку он по умолчанию ищет ресурсы из пути к классам.
Пусть сервлет загрузится и подготовит его к JSP.
Properties properties = new Properties();
properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("/filename.properties"));
request.setAttribute("properties", properties);
request.getRequestDispatcher("/WEB-INF/properties.jsp").forward(request, response);
Поскольку Properties
реализует java.util.Map
, вы можете просто использовать JSTL <c:forEach>
для его итерации. Каждая итерация возвращает Map.Entry
, который в свою очередь имеет методы getKey()
и getValue()
.
<table>
<c:forEach items="${properties}" var="property">
<tr>
<td>${property.key}</td>
<td>${property.value}</td>
</tr>
</c:forEach>
</table>
Наконец, вызовите сервлет по его URL, чтобы отобразить его.
Обратите внимание, что ResourceBundle
не реализует java.util.Map
!