Как вы имитируете вспышку ошибки Rails в jsp?
-
30-09-2019 - |
Вопрос
Существует ли эквивалент jsp / jstl этой вспышки с ошибкой Rails?
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
Я искал готовое решение, которое было бы таким же простым, как эта идиома Rails.
Решение
Вы можете использовать JSTL c:forEach
чтобы выполнить итерацию по Map<String, String>
.Каждая итерация дает вам Map.Entry
который, в свою очередь, имеет getKey()
и getValue()
методы.Предполагая, что вы поместили это в область запроса по ключу messages
, вот пример:
<dl>
<c:forEach items="${messages}" var="entry">
<dt>${entry.key}</dt><dd>${entry.value}</dd>
</c:forEach>
</dl>
Кстати, JSP / JSTL на самом деле не сопоставим с фреймворком RoR MVC.JSP / JSTL довольно низкоуровневый и практически не предлагает готовых полезных абстракций / средств для представления достойного подхода MVC.Возможно, вы захотите вместо этого взглянуть на JSF 2.0.Это MVC-фреймворк, предоставляемый Java EE.JSP - это просто технология просмотра.JSTL - это просто стандартный поток / функция / формат taglib. Вот руководство по JSF 2.0.