Comment avez-vous simulez un flash d'erreur Rails en jsp?
-
30-09-2019 - |
Question
Y at-il un jsp / jstl équivalent de ce flash d'erreur Rails?
<%- flash.each do |name, msg| -%>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<%- end -%>
J'ai cherché une solution pré-intégrée qui est aussi simple que cet idiome Rails.
La solution
Vous pouvez utiliser JSTL c:forEach
pour itérer sur une Map<String, String>
. Chaque itération vous donne un Map.Entry
qui à son tour a des méthodes de getKey()
et getValue()
. En supposant que vous avez mis dans ce périmètre de demande messages
clé, voici un exemple:
<dl>
<c:forEach items="${messages}" var="entry">
<dt>${entry.key}</dt><dd>${entry.value}</dd>
</c:forEach>
</dl>
Par ailleurs, JSP / JSTL n'est pas vraiment comparable au cadre RoR MVC. JSP / JSTL est assez faible niveau et offre des abstractions / installations pratiquement pas utiles sur la boîte pour représenter une approche MVC décente. Vous voudrez peut-être jeter un oeil pour JSF 2.0 à la place. Il est le framework MVC fourni Java EE. JSP est juste une technologie de vue. JSTL est juste un débit standard / fonction / format taglib. Voici un tutoriel JSF 2.0 .