Вопрос

Существует ли эквивалент 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top