2010-08-24 51 views
1

有没有一个jsp/jstl相当于这个Rails错误闪存?如何模拟jsp中的Rails错误闪存?

<%- flash.each do |name, msg| -%> 
     <%= content_tag :div, msg, :id => "flash_#{name}" %> 
    <%- end -%> 

我一直在寻找一个像这个Rails成语一样简单的预构建解决方案。

回答

1

您可以使用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。这是Java EE提供的MVC框架。 JSP是只是一种视图技术。 JSTL是只是一个标准的流/函数/格式taglib。 Here's a JSF 2.0 tutorial

+0

感谢您的JSF链接。其他人告诉我看Sitemesh。这与JSF类似吗? – peasoup 2010-08-24 13:39:08

+0

Sitemesh是一个模板(布局/装饰/包含)框架。这不是一个MVC框架。 JSF 2.0中也不需要它。 JSF 2.0本身使用Facelets而不是JSP作为视图技术,这反过来已经提供了非常棒的模板可能性。检查[这个答案](http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp/2097732#2097732)了解更多关于JSP/Servlet/JSF。 – BalusC 2010-08-24 13:40:24

+0

不客气。 – BalusC 2010-08-24 14:00:22