2010-08-24 68 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